Envision
A visual programming IDE for object-oriented languages
List of all members | Public Member Functions | Private Attributes
OOModel::TypeArgumentBindings Class Reference

Public Member Functions

 TypeArgumentBindings ()=default
 
 TypeArgumentBindings (const TypeArgumentBindings &other)
 
 ~TypeArgumentBindings ()
 
std::unique_ptr< TypebindingFor (FormalTypeArgument *argument)
 
void insert (FormalTypeArgument *argument, std::unique_ptr< Type > type)
 

Private Attributes

std::map< FormalTypeArgument *, std::unique_ptr< Type > > bindings_
 This map is typically going to contain only very few elements, that's why we don't use unordered_map. More...
 

Constructor & Destructor Documentation

◆ TypeArgumentBindings() [1/2]

OOModel::TypeArgumentBindings::TypeArgumentBindings ( )
default

◆ ~TypeArgumentBindings()

OOModel::TypeArgumentBindings::~TypeArgumentBindings ( )

◆ TypeArgumentBindings() [2/2]

OOModel::TypeArgumentBindings::TypeArgumentBindings ( const TypeArgumentBindings other)

Member Function Documentation

◆ bindingFor()

std::unique_ptr< Type > OOModel::TypeArgumentBindings::bindingFor ( FormalTypeArgument argument)

◆ insert()

void OOModel::TypeArgumentBindings::insert ( FormalTypeArgument argument,
std::unique_ptr< Type type 
)

Member Data Documentation

◆ bindings_

std::map<FormalTypeArgument*, std::unique_ptr<Type> > OOModel::TypeArgumentBindings::bindings_
private

This map is typically going to contain only very few elements, that's why we don't use unordered_map.