Пример #1
0
 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
Пример #2
0
 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
Пример #3
0
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
Пример #4
0
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