///////////////////////////////////////////////////////////////////////////////
// Copyright (C) 2002-2025, Open Design Alliance (the "Alliance").
// All rights reserved.
//
// This software and its documentation and related materials are owned by
// the Alliance. The software may only be incorporated into application
// programs owned by members of the Alliance, subject to a signed
// Membership Agreement and Supplemental Software License Agreement with the
// Alliance. The structure and organization of this software are the valuable
// trade secrets of the Alliance and its suppliers. The software is also
// protected by copyright law and international treaty provisions. Application
// programs incorporating this software must include the following statement
// with their copyright notices:
//
// This application incorporates Open Design Alliance software pursuant to a license
// agreement with Open Design Alliance.
// Open Design Alliance Copyright (C) 2002-2025 by Open Design Alliance.
// All rights reserved.
//
// By use of this software, its documentation or related materials, you
// acknowledge and accept the above terms.
///////////////////////////////////////////////////////////////////////////////
// This file is generated automatically.
#ifndef _IFC2X3_IFCRELNESTS_AUTO_IMPL_H
#define _IFC2X3_IFCRELNESTS_AUTO_IMPL_H
#include "IfcRelDecomposesAutoImpl.h"
#include "TD_PackPush.h"
/** \details
The namespace contains schema-dependent classes, definitions and sub routines
for work with IFC2X3 express schema definitions.
*/
namespace OdIfc2x3 {
/** \details
The nesting relationship IfcRelNests is a special type of the general composition/decomposition (or whole/part) relationship IfcRelDecomposes.
The nesting relationship can be applied to all non physical subtypes of object and object types, namely processes,
controls (like cost items), and resources. It can also be applied to physical subtypes of object and object types, namely elements having ports.
The nesting implies an order among the nested parts.
\remarks
* EXAMPLE: A nesting of costs items in an IfcCostSchedule is the composition of complex cost items from other cost items.
The order of the nested cost items underneath the parent cost item is determined by the order of the list of RelatedObjects.
* EXAMPLE: A nesting of IfcTask's within a work schedule is the composition of a parent work task from more specific sub work tasks.
The order of the sub tasks underneath the parent task is determined by the order of the list of RelatedObjects.
* EXAMPLE: A series of IfcDistributionPort's can be nested within an IfcDistributionElement.
They decompose the distribution element and have an implied order.
*/
class IFC2X3_EXPORT IfcRelNests : public IfcRelDecomposes
{
//DOM-IGNORE-BEGIN
OD_EXP_DECLARE_MEMBERS(OdIfc2x3::IfcRelNests);
//DOM-IGNORE-END
public:
/** \details
Returns a type of a class instance.
\returns
Pointer to the