Maintain data structures organizing EntitySequence instances. More...
#include <TypeSequenceManager.hpp>
Classes | |
class | DummySequence |
Dummy EntitySequence for use in querying set container. More... | |
class | SequenceCompare |
Comparison function used in std::set. More... | |
struct | SequenceDataPtr |
Public Types | |
typedef std::set< EntitySequence *, SequenceCompare< EntitySequence > > | set_type |
Type of container for organizing EntitySequence instances. More... | |
typedef set_type::iterator | iterator |
Iterator for set_type. More... | |
typedef set_type::const_iterator | const_iterator |
Iterator for set_type. More... | |
typedef std::set< SequenceData *, SequenceCompare< SequenceData > > | data_set_type |
Type of container for organizing SequenceData instances. More... | |
typedef data_set_type::iterator | data_iterator |
iterator type for data_set_type More... | |
Public Member Functions | |
ErrorCode | insert_sequence (EntitySequence *seq_ptr) |
Add an entity sequence. More... | |
ErrorCode | remove_sequence (const EntitySequence *seq_ptr, bool &is_last_user_of_sequence_data) |
Remove an entity sequence. More... | |
ErrorCode | replace_subsequence (EntitySequence *seq_ptr, const int *tag_sizes, int num_tag_sizes) |
Replace sequence or subset of sequence. More... | |
TypeSequenceManager () | |
~TypeSequenceManager () | |
const_iterator | begin () const |
Start of EntitySequence set. More... | |
iterator | begin () |
const_iterator | end () const |
End of EntitySequence set. More... | |
iterator | end () |
const_iterator | lower_bound (EntityHandle h) const |
Return EntitySequence for specified handle. More... | |
iterator | lower_bound (EntityHandle h) |
const_iterator | upper_bound (EntityHandle h) const |
Return EntitySequence after specified handle. More... | |
EntitySequence * | find (EntityHandle h) const |
Get EntitySequence for handle. More... | |
EntitySequence * | find (EntityHandle h) |
ErrorCode | find (EntityHandle h, EntitySequence *&) |
ErrorCode | find (EntityHandle h, const EntitySequence *&) const |
const EntitySequence * | get_last_accessed () const |
void | get_entities (Range &entities_out) const |
Get handles for all entities in all sequences. More... | |
void | get_entities (std::vector< EntityHandle > &entities_out) const |
Get handles for all entities in all sequences. More... | |
EntityID | get_number_entities () const |
Get number of entities represented by all sequences. More... | |
ErrorCode | check_valid_handles (Error *error_handler, EntityHandle first, EntityHandle last) const |
ErrorCode | erase (Error *error_handler, EntityHandle first, EntityHandle last) |
Remove entities. More... | |
ErrorCode | erase (Error *error_handler, EntityHandle entity) |
bool | empty () const |
Test if this instance contains no sequences. More... | |
iterator | find_free_handle (EntityHandle min_start_handle, EntityHandle max_end_handle, bool &append_out, int values_per_ent=0) |
Allocate a handle in an existing entity sequence. More... | |
EntityHandle | find_free_block (EntityID num_entities, EntityHandle min_start_handle, EntityHandle max_end_handle) |
Find block of free handles. More... | |
EntityHandle | find_free_sequence (EntityID num_entities, EntityHandle min_start_handle, EntityHandle max_end_handle, SequenceData *&sequence_data_out, EntityID &sequence_data_size, int values_per_ent=0) |
Find block of free handles. More... | |
bool | is_free_sequence (EntityHandle start_handle, EntityID num_entities, SequenceData *&sequence_data_out, int values_per_ent=0) |
Check if block of handles is free. More... | |
ErrorCode | is_free_handle (EntityHandle handle, iterator &seq_ptr_out, SequenceData *&data_ptr_out, EntityHandle &block_start, EntityHandle &block_end, int values_per_ent=0) |
Check if specific handle is free for allocation. More... | |
EntityHandle | last_free_handle (EntityHandle after_this) const |
ErrorCode | notify_prepended (iterator seq) |
Notify that sequence was prepended to. More... | |
ErrorCode | notify_appended (iterator seq) |
Notify that sequence was appended to. More... | |
void | get_memory_use (unsigned long long &total_entity_storage, unsigned long long &total_storage) const |
void | get_memory_use (EntityHandle start, EntityHandle end, unsigned long long &total_entity_storage, unsigned long long &total_amortized_storage) const |
unsigned long | get_sequence_count () const |
EntityID | get_occupied_size (const SequenceData *) const |
Get used size of SequenceData. More... | |
Private Member Functions | |
iterator | erase (iterator i) |
Remove a sequence. More... | |
iterator | split_sequence (iterator i, EntityHandle h) |
split a sequence More... | |
void | append_memory_use (EntityHandle first, EntityHandle last, const SequenceData *data, unsigned long long &entity_storage, unsigned long long &total_storage) const |
ErrorCode | check_merge_next (iterator i) |
ErrorCode | check_merge_prev (iterator i) |
ErrorCode | merge_internal (iterator keep, iterator dead) |
bool | check_valid_data (const EntitySequence *seq) const |
Private Attributes | |
EntitySequence * | lastReferenced |
Last accessed EntitySequence - Null only if no sequences. More... | |
set_type | sequenceSet |
Set of all managed EntitySequence instances. More... | |
data_set_type | availableList |
SequenceData containing unused entries. More... | |
Maintain data structures organizing EntitySequence instances.
EntitySequenceManager is a composition of instances of TypeSequenceManager, one instance for each EntityType. The TypeSequenceManager provides organization, ownership, and querying of EntitySequences for a specific EntityType.
Definition at line 22 of file TypeSequenceManager.hpp.
typedef set_type::const_iterator moab::TypeSequenceManager::const_iterator |
Iterator for set_type.
Definition at line 69 of file TypeSequenceManager.hpp.
typedef data_set_type::iterator moab::TypeSequenceManager::data_iterator |
iterator type for data_set_type
Definition at line 73 of file TypeSequenceManager.hpp.
typedef std::set< SequenceData*, SequenceCompare< SequenceData > > moab::TypeSequenceManager::data_set_type |
Type of container for organizing SequenceData instances.
Definition at line 71 of file TypeSequenceManager.hpp.
typedef set_type::iterator moab::TypeSequenceManager::iterator |
Iterator for set_type.
Definition at line 67 of file TypeSequenceManager.hpp.
typedef std::set< EntitySequence*, SequenceCompare< EntitySequence > > moab::TypeSequenceManager::set_type |
Type of container for organizing EntitySequence instances.
Definition at line 65 of file TypeSequenceManager.hpp.
|
inline |
Definition at line 147 of file TypeSequenceManager.hpp.
moab::TypeSequenceManager::~TypeSequenceManager | ( | ) |
Definition at line 10 of file TypeSequenceManager.cpp.
References availableList, begin(), moab::EntitySequence::data(), end(), sequenceSet, and moab::EntitySequence::using_entire_data().
|
private |
Definition at line 852 of file TypeSequenceManager.cpp.
References end(), moab::GeomUtil::first(), moab::TypeSequenceManager::SequenceDataPtr::firstSequence, moab::SequenceData::seqManData, moab::SequenceData::size(), and moab::sum().
Referenced by get_memory_use().
|
inline |
Definition at line 156 of file TypeSequenceManager.hpp.
References sequenceSet.
|
inline |
Start of EntitySequence set.
Definition at line 152 of file TypeSequenceManager.hpp.
References sequenceSet.
Referenced by check_merge_prev(), check_valid_data(), moab::VarLenDenseTag::find_entities_with_value(), moab::DenseTag::find_entities_with_value(), find_free_sequence(), moab::WriteUtil::get_element_connect(), moab::ReorderTool::get_entities(), get_entities(), moab::DenseTag::get_memory_use(), moab::VarLenDenseTag::get_memory_use(), moab::AEntityFactory::get_memory_use(), moab::WriteUtil::get_node_coords(), get_number_entities(), moab::get_tagged(), moab::DenseTag::get_tagged_entities(), moab::ReorderTool::handle_order_from_int_tag(), insert_sequence(), is_free_handle(), is_free_sequence(), moab::operator<<(), moab::Core::print_database(), moab::SequenceManager::release_tag_array(), moab::ReorderTool::reorder_entities(), moab::AEntityFactory::~AEntityFactory(), and ~TypeSequenceManager().
Definition at line 67 of file TypeSequenceManager.cpp.
References end(), MB_SUCCESS, and merge_internal().
Referenced by insert_sequence(), and notify_appended().
Definition at line 78 of file TypeSequenceManager.cpp.
References begin(), MB_SUCCESS, and merge_internal().
Referenced by insert_sequence(), and notify_prepended().
|
private |
Definition at line 926 of file TypeSequenceManager.cpp.
References begin(), moab::EntitySequence::data(), empty(), end(), moab::EntitySequence::end_handle(), moab::SequenceData::end_handle(), find(), moab::TypeSequenceManager::SequenceDataPtr::firstSequence, lastReferenced, lower_bound(), moab::SequenceData::seqManData, sequenceSet, moab::EntitySequence::start_handle(), and moab::SequenceData::start_handle().
Referenced by erase(), insert_sequence(), and split_sequence().
ErrorCode moab::TypeSequenceManager::check_valid_handles | ( | Error * | error_handler, |
EntityHandle | first, | ||
EntityHandle | last | ||
) | const |
Definition at line 602 of file TypeSequenceManager.cpp.
References end(), moab::GeomUtil::first(), lower_bound(), MB_ENTITY_NOT_FOUND, and MB_SUCCESS.
Referenced by moab::SequenceManager::check_valid_entities(), and erase().
|
inline |
Test if this instance contains no sequences.
Definition at line 231 of file TypeSequenceManager.hpp.
References lastReferenced.
Referenced by check_valid_data(), get_memory_use(), is_free_sequence(), moab::operator<<(), and moab::Core::print_database().
|
inline |
Definition at line 166 of file TypeSequenceManager.hpp.
References sequenceSet.
|
inline |
End of EntitySequence set.
Definition at line 162 of file TypeSequenceManager.hpp.
References sequenceSet.
Referenced by append_memory_use(), check_merge_next(), check_valid_data(), check_valid_handles(), erase(), find(), moab::VarLenDenseTag::find_entities_with_value(), moab::DenseTag::find_entities_with_value(), find_free_block(), find_free_handle(), find_free_sequence(), moab::RangeSeqIntersectIter::find_invalid_range(), moab::Core::get_coords(), moab::WriteUtil::get_element_connect(), moab::ReorderTool::get_entities(), get_entities(), moab::DenseTag::get_memory_use(), moab::VarLenDenseTag::get_memory_use(), get_memory_use(), moab::AEntityFactory::get_memory_use(), moab::WriteUtil::get_node_coords(), get_number_entities(), get_occupied_size(), moab::get_tagged(), moab::DenseTag::get_tagged_entities(), moab::ReorderTool::handle_order_from_int_tag(), insert_sequence(), is_free_handle(), is_free_sequence(), last_free_handle(), moab::operator<<(), moab::Core::print_database(), moab::SequenceManager::release_tag_array(), remove_sequence(), moab::ReorderTool::reorder_entities(), replace_subsequence(), split_sequence(), moab::AEntityFactory::~AEntityFactory(), and ~TypeSequenceManager().
ErrorCode moab::TypeSequenceManager::erase | ( | Error * | error_handler, |
EntityHandle | entity | ||
) |
Definition at line 630 of file TypeSequenceManager.cpp.
References availableList, moab::EntitySequence::data(), moab::EntitySequence::end_handle(), ErrorCode, find(), lower_bound(), MB_ENTITY_NOT_FOUND, MB_SUCCESS, moab::EntitySequence::pop_back(), moab::EntitySequence::pop_front(), remove_sequence(), split_sequence(), moab::EntitySequence::start_handle(), and moab::EntitySequence::using_entire_data().
ErrorCode moab::TypeSequenceManager::erase | ( | Error * | error_handler, |
EntityHandle | first, | ||
EntityHandle | last | ||
) |
Remove entities.
Update EntitySequence data as necessary to "delete" the specified entities (e.g. split sequences, delete sequences, free SequenceData instances, etc.)
Definition at line 679 of file TypeSequenceManager.cpp.
References availableList, check_valid_data(), check_valid_handles(), end(), erase(), ErrorCode, moab::GeomUtil::first(), lower_bound(), MB_ENTITY_NOT_FOUND, MB_SUCCESS, and split_sequence().
|
private |
Remove a sequence.
Definition at line 259 of file TypeSequenceManager.cpp.
References availableList, check_valid_data(), moab::EntitySequence::data(), end(), find(), moab::TypeSequenceManager::SequenceDataPtr::firstSequence, lastReferenced, moab::SequenceData::seqManData, sequenceSet, moab::EntitySequence::start_handle(), and moab::EntitySequence::using_entire_data().
Referenced by moab::SequenceManager::delete_entities(), moab::SequenceManager::delete_entity(), and erase().
|
inline |
Definition at line 389 of file TypeSequenceManager.hpp.
References end(), lastReferenced, sequenceSet, and moab::EntitySequence::start_handle().
|
inline |
Get EntitySequence for handle.
Definition at line 376 of file TypeSequenceManager.hpp.
References end(), lastReferenced, sequenceSet, and moab::EntitySequence::start_handle().
Referenced by check_valid_data(), erase(), and moab::SequenceManager::find().
|
inline |
Definition at line 403 of file TypeSequenceManager.hpp.
References end(), lastReferenced, MB_ENTITY_NOT_FOUND, MB_SUCCESS, sequenceSet, and moab::EntitySequence::start_handle().
|
inline |
Definition at line 429 of file TypeSequenceManager.hpp.
References end(), lastReferenced, MB_ENTITY_NOT_FOUND, MB_SUCCESS, sequenceSet, and moab::EntitySequence::start_handle().
EntityHandle moab::TypeSequenceManager::find_free_block | ( | EntityID | num_entities, |
EntityHandle | min_start_handle, | ||
EntityHandle | max_end_handle | ||
) |
Find block of free handles.
Find block of free handles, such that block does not overlap any existing EntitySequence.
Definition at line 423 of file TypeSequenceManager.cpp.
References end(), and lower_bound().
TypeSequenceManager::iterator moab::TypeSequenceManager::find_free_handle | ( | EntityHandle | min_start_handle, |
EntityHandle | max_end_handle, | ||
bool & | append_out, | ||
int | values_per_ent = 0 |
||
) |
Allocate a handle in an existing entity sequence.
Find an existing entity sequence to which a new handle can be prepended or appended. The 'append_out' flag indicates to the caller that the new handle should be appended to the returned sequence if true, and prepended if false.
If no appropriate EntitySequence is available, NULL will be returned. The caller will typically then want to use find_free_sequence() to find appropriate values for the creation of a new EntitySequence.
Definition at line 334 of file TypeSequenceManager.cpp.
References availableList, and end().
Referenced by moab::SequenceManager::create_element(), moab::SequenceManager::create_mesh_set(), and moab::SequenceManager::create_vertex().
EntityHandle moab::TypeSequenceManager::find_free_sequence | ( | EntityID | num_entities, |
EntityHandle | min_start_handle, | ||
EntityHandle | max_end_handle, | ||
SequenceData *& | sequence_data_out, | ||
EntityID & | sequence_data_size, | ||
int | values_per_ent = 0 |
||
) |
Find block of free handles.
Find block of free handles, such that block a) does not overlap any existing EntitySequence and b) is either entirely within one existing SequenceData or does not overlap any SequenceData.
num_entities | Size of handle block. |
min_start_handle | Block may not contain any handle less than this. |
max_end_handle | Block may not contain any handle greater than this. |
sequence_data_out | If block is within an unused portion of an existing SequenceData, a pointer to that SequenceData. NULL otherwise. |
Definition at line 467 of file TypeSequenceManager.cpp.
References begin(), moab::check_range(), end(), moab::range_data::first, moab::range_data::last, and lower_bound().
Referenced by moab::SequenceManager::create_element(), moab::SequenceManager::create_mesh_set(), moab::SequenceManager::create_vertex(), and moab::SequenceManager::sequence_start_handle().
|
inline |
Get handles for all entities in all sequences.
Definition at line 460 of file TypeSequenceManager.hpp.
References moab::Range::begin(), begin(), end(), and moab::Range::insert().
Referenced by moab::SequenceManager::get_entities().
|
inline |
Get handles for all entities in all sequences.
Definition at line 467 of file TypeSequenceManager.hpp.
|
inline |
Definition at line 455 of file TypeSequenceManager.hpp.
References lastReferenced.
Referenced by moab::SequenceManager::get_last_accessed_sequence().
void moab::TypeSequenceManager::get_memory_use | ( | EntityHandle | start, |
EntityHandle | end, | ||
unsigned long long & | total_entity_storage, | ||
unsigned long long & | total_amortized_storage | ||
) | const |
Definition at line 895 of file TypeSequenceManager.cpp.
References append_memory_use(), end(), moab::SequenceData::end_handle(), moab::GeomUtil::first(), and lower_bound().
void moab::TypeSequenceManager::get_memory_use | ( | unsigned long long & | total_entity_storage, |
unsigned long long & | total_storage | ||
) | const |
Definition at line 841 of file TypeSequenceManager.cpp.
References moab::CREATE_HANDLE(), empty(), lastReferenced, MB_END_ID, MB_START_ID, moab::EntitySequence::start_handle(), and moab::TYPE_FROM_HANDLE().
Referenced by moab::SequenceManager::get_memory_use().
|
inline |
Get number of entities represented by all sequences.
Definition at line 474 of file TypeSequenceManager.hpp.
References begin(), and end().
Referenced by moab::SequenceManager::get_number_entities().
EntityID moab::TypeSequenceManager::get_occupied_size | ( | const SequenceData * | data | ) | const |
Get used size of SequenceData.
Get the sum of the size of all EntitySequences referencing a SequenceData. Used for memory use calculations.
Definition at line 916 of file TypeSequenceManager.cpp.
References end(), moab::TypeSequenceManager::SequenceDataPtr::firstSequence, and moab::SequenceData::seqManData.
Referenced by moab::AEntityFactory::get_memory_use().
|
inline |
Definition at line 363 of file TypeSequenceManager.hpp.
References sequenceSet.
ErrorCode moab::TypeSequenceManager::insert_sequence | ( | EntitySequence * | seq_ptr | ) |
Add an entity sequence.
Take ownership of passed EntitySequence, and update relevant data structures. Sequence may not overlap with any existing sequence.
NOTE: Sequence may be merged with other, existing sequences. This function will always ensure that the passed EntitySequence* is the remaining one, but the passed sequence may have modified start and end handles.
Definition at line 90 of file TypeSequenceManager.cpp.
References availableList, begin(), check_merge_next(), check_merge_prev(), check_valid_data(), moab::EntitySequence::data(), end(), moab::EntitySequence::end_handle(), moab::SequenceData::end_handle(), moab::TypeSequenceManager::SequenceDataPtr::firstSequence, lastReferenced, lower_bound(), MB_ALREADY_ALLOCATED, MB_SUCCESS, moab::SequenceData::seqManData, sequenceSet, moab::EntitySequence::start_handle(), moab::SequenceData::start_handle(), and moab::EntitySequence::using_entire_data().
Referenced by moab::SequenceManager::allocate_mesh_set(), moab::SequenceManager::create_element(), moab::SequenceManager::create_entity_sequence(), moab::SequenceManager::create_mesh_set(), moab::SequenceManager::create_meshset_sequence(), moab::SequenceManager::create_scd_sequence(), moab::SequenceManager::create_sweep_sequence(), moab::SequenceManager::create_vertex(), and replace_subsequence().
ErrorCode moab::TypeSequenceManager::is_free_handle | ( | EntityHandle | handle, |
iterator & | seq_ptr_out, | ||
SequenceData *& | data_ptr_out, | ||
EntityHandle & | block_start, | ||
EntityHandle & | block_end, | ||
int | values_per_ent = 0 |
||
) |
Check if specific handle is free for allocation.
Check if a specific handle is not currently allocated and can be allocated with the passed value of values_per_ent. For example, the handle may not be allocated, but it may fall within an existing SequenceData. In that case, it must be possible to store the specified values_per_ent in the existing SequenceData.
There are four possible return 'states' from this function:
handle | The handle the caller wishes to allocate as a new entity |
seq_ptr_out | Output: pointer to sequence to append or prepend to to allocate handle. end() if no such sequence. |
data_ptr_out | Output: Pointer to existing SequenceData containing input handle, or NULL if no such SequenceData. |
block_start | Output: Smallest possible start handle for new sequence. |
block_end | Output: Largest possible end handle for new sequence. |
Definition at line 740 of file TypeSequenceManager.cpp.
References begin(), moab::CREATE_HANDLE(), end(), moab::SequenceData::end_handle(), lower_bound(), MB_ALREADY_ALLOCATED, MB_END_ID, MB_START_ID, MB_SUCCESS, moab::SequenceData::start_handle(), and moab::TYPE_FROM_HANDLE().
Referenced by moab::SequenceManager::allocate_mesh_set().
bool moab::TypeSequenceManager::is_free_sequence | ( | EntityHandle | start_handle, |
EntityID | num_entities, | ||
SequenceData *& | sequence_data_out, | ||
int | values_per_ent = 0 |
||
) |
Check if block of handles is free.
Check if block of handles is free and can be allocated as a single EntitySequence. If the block of handles is contained within an unused portion of a SequenceData, the SequenceData is returned.
Definition at line 365 of file TypeSequenceManager.cpp.
References begin(), empty(), end(), moab::SequenceData::end_handle(), lower_bound(), and moab::SequenceData::start_handle().
Referenced by moab::SequenceManager::sequence_start_handle().
EntityHandle moab::TypeSequenceManager::last_free_handle | ( | EntityHandle | after_this | ) | const |
Definition at line 586 of file TypeSequenceManager.cpp.
References moab::CREATE_HANDLE(), end(), lower_bound(), MB_END_ID, and moab::TYPE_FROM_HANDLE().
Referenced by moab::SequenceManager::new_sequence_size().
|
inline |
Definition at line 182 of file TypeSequenceManager.hpp.
References sequenceSet.
|
inline |
Return EntitySequence for specified handle.
Return EntitySequence for specified handle, or if no such sequence, the next one. Returns end() if all sequences have ranges less than specified handle.
Definition at line 177 of file TypeSequenceManager.hpp.
References sequenceSet.
Referenced by check_valid_data(), check_valid_handles(), erase(), find_free_block(), find_free_sequence(), moab::Core::get_coords(), get_memory_use(), insert_sequence(), is_free_handle(), is_free_sequence(), last_free_handle(), remove_sequence(), and replace_subsequence().
Definition at line 46 of file TypeSequenceManager.cpp.
References availableList, ErrorCode, lastReferenced, MB_SUCCESS, and sequenceSet.
Referenced by check_merge_next(), and check_merge_prev().
Notify that sequence was appended to.
Notify of sequence modifications so we can check if sequence needs to be merged.
Definition at line 825 of file TypeSequenceManager.cpp.
References availableList, check_merge_next(), and ErrorCode.
Referenced by moab::SequenceManager::allocate_mesh_set(), moab::SequenceManager::create_element(), moab::SequenceManager::create_mesh_set(), and moab::SequenceManager::create_vertex().
Notify that sequence was prepended to.
Notify of sequence modifications so we can check if sequence needs to be merged.
Definition at line 833 of file TypeSequenceManager.cpp.
References availableList, check_merge_prev(), and ErrorCode.
Referenced by moab::SequenceManager::allocate_mesh_set(), moab::SequenceManager::create_element(), moab::SequenceManager::create_mesh_set(), and moab::SequenceManager::create_vertex().
ErrorCode moab::TypeSequenceManager::remove_sequence | ( | const EntitySequence * | seq_ptr, |
bool & | is_last_user_of_sequence_data | ||
) |
Remove an entity sequence.
Give up ownership of specified EntitySequence, and remove it from all internal data structures. Passes back bool flag to notify caller that ownership of the corresponding SequenceData is also relinquished because the specified EntitySequence is the last one referencing it.
Definition at line 309 of file TypeSequenceManager.cpp.
References availableList, moab::EntitySequence::data(), end(), moab::TypeSequenceManager::SequenceDataPtr::firstSequence, lastReferenced, lower_bound(), MB_ENTITY_NOT_FOUND, MB_SUCCESS, moab::SequenceData::seqManData, sequenceSet, moab::EntitySequence::start_handle(), moab::SequenceData::start_handle(), and moab::EntitySequence::using_entire_data().
Referenced by erase().
ErrorCode moab::TypeSequenceManager::replace_subsequence | ( | EntitySequence * | seq_ptr, |
const int * | tag_sizes, | ||
int | num_tag_sizes | ||
) |
Replace sequence or subset of sequence.
Replace one sequence or a subset of one sequence with another sequence. With fail if a) the existing sequence is not a subset of an existing sequence or b) existing sequence shares a SequenceData with the passed sequence.
This method is provided for use when changing the number of nodes in elements.
Definition at line 155 of file TypeSequenceManager.cpp.
References availableList, moab::EntitySequence::data(), end(), moab::EntitySequence::end_handle(), moab::TypeSequenceManager::SequenceDataPtr::firstSequence, insert_sequence(), lastReferenced, lower_bound(), moab::SequenceData::move_tag_data(), moab::SequenceData::seqManData, sequenceSet, moab::EntitySequence::size(), split_sequence(), moab::EntitySequence::start_handle(), and moab::EntitySequence::using_entire_data().
Referenced by moab::SequenceManager::replace_subsequence().
|
private |
split a sequence
Definition at line 729 of file TypeSequenceManager.cpp.
References check_valid_data(), end(), sequenceSet, and moab::EntitySequence::split().
Referenced by erase(), and replace_subsequence().
|
inline |
Return EntitySequence after specified handle.
Return EntitySequence with smallest start handle that is greater than input handle. Returns end() if all sequences have start handles less than specified handle.
Definition at line 195 of file TypeSequenceManager.hpp.
References sequenceSet.
Referenced by moab::RangeSeqIntersectIter::find_invalid_range().
|
private |
SequenceData containing unused entries.
Definition at line 85 of file TypeSequenceManager.hpp.
Referenced by erase(), find_free_handle(), insert_sequence(), merge_internal(), notify_appended(), notify_prepended(), remove_sequence(), replace_subsequence(), and ~TypeSequenceManager().
|
mutableprivate |
Last accessed EntitySequence - Null only if no sequences.
Definition at line 83 of file TypeSequenceManager.hpp.
Referenced by check_valid_data(), empty(), erase(), find(), get_last_accessed(), get_memory_use(), insert_sequence(), merge_internal(), remove_sequence(), and replace_subsequence().
|
private |
Set of all managed EntitySequence instances.
Definition at line 84 of file TypeSequenceManager.hpp.
Referenced by begin(), check_valid_data(), end(), erase(), find(), get_sequence_count(), insert_sequence(), lower_bound(), merge_internal(), remove_sequence(), replace_subsequence(), split_sequence(), upper_bound(), and ~TypeSequenceManager().