def class_types(self):
        """list of class/class declaration types, extracted from the
        operator arguments"""

        if None is self.__class_types:
            self.__class_types = []
            for type_ in self.argument_types:
                decl = None
                type_ = type_traits.remove_reference(type_)
                if type_traits_classes.is_class(type_):
                    decl = type_traits_classes.class_traits.get_declaration(
                        type_)
                elif type_traits_classes.is_class_declaration(type_):
                    tt = type_traits_classes.class_declaration_traits
                    decl = tt.get_declaration(type_)
                else:
                    pass
                if decl:
                    self.__class_types.append(decl)
        return self.__class_types
def class_types ( self ) : if None is self . __class_types : self . __class_types = [ ] for type_ in self . argument_types : decl = None type_ = type_traits . remove_reference ( type_ ) if type_traits_classes . is_class ( type_ ) : decl = type_traits_classes . class_traits . get_declaration ( type_ ) elif type_traits_classes . is_class_declaration ( type_ ) : tt = type_traits_classes . class_declaration_traits decl = tt . get_declaration ( type_ ) else : pass if decl : self . __class_types . append ( decl ) return self . __class_types
list of class/class declaration types, extracted from the
        operator arguments