pygccxml.declarations.container_traits module¶
Define a few algorithms that deal with different properties of std containers.
- all_container_traits = (<pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>)¶
tuple of all STD container traits classes
- class container_traits_impl_t(container_name, element_type_index, element_type_typedef, eraser, key_type_index=None, key_type_typedef=None, unordered_maps_and_sets=False)¶
Bases:
object
Implements the functionality needed for convenient work with STD container classes
- Implemented functionality:
find out whether a declaration is STD container or not
find out container value( mapped ) type
This class tries to be useful as much as possible. For example, for class declaration (and not definition) it parses the class name in order to extract the information.
- class_declaration(type_)¶
Returns reference to the class declaration.
- element_type(type_)¶
returns reference to the class valuemapped type declaration
- get_container_or_none(type_)¶
Returns reference to the class declaration or None.
- is_mapping(type_)¶
- is_my_case(type_)¶
Checks, whether type is STD container or not.
- is_sequence(type_)¶
- key_type(type_)¶
returns reference to the class key type declaration
- name()¶
- remove_defaults(type_or_string)¶
Removes template defaults from a templated class instantiation.
- For example:
std::vector< int, std::allocator< int > >
- will become:
std::vector< int >
- class defaults_eraser(unordered_maps_and_sets)¶
Bases:
object
- decorated_call_prefix(cls_name, text, doit)¶
- decorated_call_suffix(cls_name, text, doit)¶
- erase_allocator(cls_name, default_allocator='std::allocator')¶
- erase_call(cls_name)¶
- erase_compare_allocator(cls_name, default_compare='std::less', default_allocator='std::allocator')¶
- erase_container(cls_name, default_container_name='std::deque')¶
- erase_container_compare(cls_name, default_container_name='std::vector', default_compare='std::less')¶
- erase_hash_allocator(cls_name)¶
- erase_hashmap_compare_allocator(cls_name)¶
- erase_map_compare_allocator(cls_name, default_compare='std::less', default_allocator='std::allocator')¶
- erase_recursive(cls_name)¶
- no_const(cls_name)¶
- no_end_const(cls_name)¶
- no_gnustd(cls_name)¶
- no_std(cls_name)¶
- no_stdext(cls_name)¶
- normalize(type_str)¶
- replace_basic_string(cls_name)¶
- find_container_traits(cls_or_string)¶
Find the container traits type of a declaration.
- Parameters
cls_or_string (str | declarations.declaration_t) – a string
- Returns
a container traits
- Return type
declarations.container_traits
- sequential_container_traits = [<pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>, <pygccxml.declarations.container_traits.container_traits_impl_t object>]¶
list, that contains all STD container traits classes