def _set_name( self, name ): self.__name = name if not self.__name: self.__opt_is_tmpl_inst = None self.__opt_tmpl_name = None self.__opt_is_full_name = None self.__decl_name_only = None else: self.__opt_is_tmpl_inst = templates.is_instantiation( self.__name ) self.__opt_tmpl_name = templates.name( self.__name ) if self.__opt_is_tmpl_inst: if '::' in self.__opt_tmpl_name: self.__opt_is_full_name = True self.__decl_name_only = self.__opt_tmpl_name.split('::')[-1] else: self.__opt_is_full_name = False self.__decl_name_only = self.__opt_tmpl_name self.__name = templates.normalize( name ) else: if '::' in self.__name: self.__opt_is_full_name = True self.__decl_name_only = self.__name.split('::')[-1] else: self.__opt_is_full_name = False self.__decl_name_only = self.__name
def _set_name(self, name): self.__name = name if not self.__name: self.__opt_is_tmpl_inst = None self.__opt_tmpl_name = None self.__opt_is_full_name = None self.__decl_name_only = None else: self.__opt_is_tmpl_inst = templates.is_instantiation(self.__name) self.__opt_tmpl_name = templates.name(self.__name) if self.__opt_is_tmpl_inst: if '::' in self.__opt_tmpl_name: self.__opt_is_full_name = True self.__decl_name_only = self.__opt_tmpl_name.split( '::')[-1] else: self.__opt_is_full_name = False self.__decl_name_only = self.__opt_tmpl_name self.__name = templates.normalize(name) else: if '::' in self.__name: self.__opt_is_full_name = True self.__decl_name_only = self.__name.split('::')[-1] else: self.__opt_is_full_name = False self.__decl_name_only = self.__name
def find_container_traits( cls_or_string ): if isinstance( cls_or_string, types.StringTypes ): if not templates.is_instantiation( cls_or_string ): return None name = templates.name( cls_or_string ) if name.startswith( 'std::' ): name = name[ len( 'std::' ): ] for cls_traits in container_traits: if cls_traits.name() == name: return cls_traits else: for cls_traits in container_traits: if cls_traits.is_my_case( cls_or_string ): return cls_traits
def find_container_traits(cls_or_string): if isinstance(cls_or_string, types.StringTypes): if not templates.is_instantiation(cls_or_string): return None name = templates.name(cls_or_string) if name.startswith('std::'): name = name[len('std::'):] for cls_traits in container_traits: if cls_traits.name() == name: return cls_traits else: for cls_traits in container_traits: if cls_traits.is_my_case(cls_or_string): return cls_traits