IMP logo
IMP Reference Guide  develop.36b5e40f34,2024/10/13
The Integrative Modeling Platform
value_macros.h File Reference

Macros to help in implementing Value objects. More...

#include <IMP/kernel_config.h>
#include "Vector.h"
+ Include dependency graph for value_macros.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define IMP_BUILTIN_VALUES(Name, PluralName)
 
#define IMP_VALUES(Name, PluralName)   /** Pass or store a set of Name. */ typedef IMP::Vector<Name> PluralName
 Define the type for storing sets of values. More...
 
#define IMP_VALUES_UNIFIED(Name, PluralName)
 Like IMP_VALUES but using CUDA unified memory. More...
 

Detailed Description

Macros to help in implementing Value objects.

Copyright 2007-2022 IMP Inventors. All rights reserved.

Definition in file value_macros.h.

Macro Definition Documentation

#define IMP_BUILTIN_VALUES (   Name,
  PluralName 
)
Value:
IMP_VALUES(Name, PluralName); \
IMP_VALUES(PluralName, PluralName##s)
#define IMP_VALUES(Name, PluralName)
Define the type for storing sets of values.
Definition: value_macros.h:23

To be used with native types.

Definition at line 32 of file value_macros.h.

#define IMP_VALUES (   Name,
  PluralName 
)    /** Pass or store a set of Name. */ typedef IMP::Vector<Name> PluralName

Define the type for storing sets of values.

The macro defines the type Names. PluralName should be Names unless the English spelling is different. This macro also defines the output operator for the type.

See Value and Objects for a description of what it means to be an object vs a value in IMP.

Definition at line 23 of file value_macros.h.

#define IMP_VALUES_UNIFIED (   Name,
  PluralName 
)
Value:
/** Pass or store a set of Name using CUDA unified memory. */ \
A more IMP-like version of the std::vector.
Definition: Vector.h:50

Like IMP_VALUES but using CUDA unified memory.

Definition at line 27 of file value_macros.h.