9 #ifndef stk_mesh_Types_hpp 10 #define stk_mesh_Types_hpp 19 #include <stk_util/util/PairIter.hpp> 20 #include <stk_util/util/NamedPair.hpp> 37 typedef std::vector< unsigned > OrdinalVector ;
41 template<
typename Scalar = void ,
42 class Tag1 = void ,
class Tag2 = void ,
43 class Tag3 = void ,
class Tag4 = void ,
44 class Tag5 = void ,
class Tag6 = void ,
52 enum { MaximumFieldDimension = 7 };
54 template<
typename DataType =
void >
class Property ;
56 typedef Property< void > PropertyBase ;
71 typedef std::vector<Bucket *> BucketVector;
72 typedef std::vector<Entity *> EntityVector;
78 EntityLogCreated = 1 ,
79 EntityLogModified = 2 ,
80 EntityLogDeleted = 3 };
82 template<
class FieldType >
struct EntityArray ;
83 template<
class FieldType >
struct BucketArray ;
84 template<
class FieldType >
struct FieldTraits ;
87 typedef unsigned Ordinal;
88 static const Ordinal InvalidOrdinal =
static_cast<Ordinal
>(-1);
89 typedef Ordinal EntityRank ;
90 typedef Ordinal PartOrdinal;
91 typedef Ordinal FieldOrdinal;
92 typedef Ordinal RelationIdentifier;
93 typedef Ordinal FieldArrayRank;
95 typedef uint64_t EntityId ;
100 static const EntityRank BaseEntityRank = 0;
101 static const EntityRank InvalidEntityRank = InvalidOrdinal;
102 static const PartOrdinal InvalidPartOrdinal = InvalidOrdinal;
103 static const RelationIdentifier InvalidRelationIdentifier = InvalidOrdinal;
112 typedef std::vector<EntityProc> EntityProcVec ;
122 NAMED_PAIR( EntityCommInfo ,
unsigned , ghost_id ,
unsigned , proc )
130 typedef std::vector<EntityCommInfo> EntityCommInfoVector;
151 unsigned identifier );
Field base class with an anonymous data type and anonymous multi-dimension.
std::pair< Entity *, unsigned > EntityProc
Pairing of an entity with a processor rank.
Field with defined data type and multi-dimensions (if any)
An application-defined subset of a problem domain.
PairIter< std::vector< EntityProc >::const_iterator > PairIterEntityProc
Spans of a vector of entity-processor pairs are common.
int(* relation_stencil_ptr)(unsigned from_type, unsigned to_type, unsigned identifier)
A relation stencil maps entity relationships to ordinals.
std::vector< Part *> PartVector
Collections of parts are frequently maintained as a vector of Part pointers.
PairIter< std::vector< EntityCommInfo >::const_iterator > PairIterEntityComm
Span of ( communication-subset-ordinal , process-rank ) pairs for the communication of an entity...
std::vector< Relation > RelationVector
Span of a sorted relations for a given domain entity.