Hide menu
Loading...
Searching...
No Matches

Base class for all public classes. More...

#include <cadex/BaseObject.hxx>

Inheritance diagram for cadex::BaseObject:
cadex::Drawing::Drawing cadex::Drawing::Drawing::LayerIterator cadex::Drawing::Drawing::SheetIterator cadex::Drawing::Element cadex::Drawing::HatchDefinitionLine cadex::Drawing::Layer cadex::Drawing::Sheet cadex::Drawing::Sheet::ViewIterator cadex::Drawing::View cadex::Geom::Geometry cadex::ModelData::Model cadex::ModelData::ModelElement cadex::ModelData::ModelElementIterator cadex::ModelData::ModelReader cadex::ModelData::Shape cadex::ModelData::ShapeIterator cadex::ProgressStatus

Public Types

typedef std::shared_ptr< internal::BaseObjectImpl > ImplType
 

Public Member Functions

size_t Id () const
 Return unique identifier of public object.
 
internal::BaseObjectImpl * Impl () const
 
bool IsNull () const
 
 operator bool () const
 
template<typename T >
bool IsOfType () const
 
template<typename T >
T * Impl () const
 Reserved for internal use.
 

Protected Member Functions

 BaseObject (const ImplType &theImpl)
 

Detailed Description

Base class for all public classes.

BaseObject is a base class which contains data implementation of public objects. Any copy of the object is shallow copy: pointer to implementation will be copied. Therefore any modification of the copied object will propagate to original object.