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