Namespaces | |
| namespace | drake |
Macros | |||
Class template instantiation macros | |||
These macros either declare or define class template instantiations for Drake's supported scalar types (see Default Scalars), either "default scalars" or "default nonsymbolic scalars". Use the DECLARE macros only in .h files; use the DEFINE macros only in .cc files.
Example my_system.h: #include "drake/common/default_scalars.h"
namespace sample {
template <typename T>
...
};
} // namespace sample
class ::sample::MySystem);
A superclass template that extends System with some convenience utilities that are not applicable to ... Definition leaf_system.h:42 #define DRAKE_DECLARE_CLASS_TEMPLATE_INSTANTIATIONS_ON_DEFAULT_SCALARS( SomeType) Declares that template instantiations exist for Drake's default scalars. Definition default_scalars.h:150 Example my_system.cc: #include "my_system.h"
class ::sample::MySystem);
#define DRAKE_DEFINE_CLASS_TEMPLATE_INSTANTIATIONS_ON_DEFAULT_SCALARS(SomeType) Defines template instantiations for Drake's default scalars. Definition default_scalars.h:115 See also System Scalar Conversion. | |||
| #define | DRAKE_DEFINE_CLASS_TEMPLATE_INSTANTIATIONS_ON_DEFAULT_SCALARS(SomeType) | ||
| Defines template instantiations for Drake's default scalars. | |||
| #define | DRAKE_DEFINE_CLASS_TEMPLATE_INSTANTIATIONS_ON_DEFAULT_NONSYMBOLIC_SCALARS(SomeType) | ||
| Defines template instantiations for Drake's default nonsymbolic scalars. | |||
| #define | DRAKE_DECLARE_CLASS_TEMPLATE_INSTANTIATIONS_ON_DEFAULT_SCALARS( SomeType) | ||
| Declares that template instantiations exist for Drake's default scalars. | |||
| #define | DRAKE_DECLARE_CLASS_TEMPLATE_INSTANTIATIONS_ON_DEFAULT_NONSYMBOLIC_SCALARS(SomeType) | ||
| Declares that template instantiations exist for Drake's default nonsymbolic scalars. | |||
Function template instantiation macros | |||
These macros define template function instantiations for Drake's supported scalar types (see Default Scalars), either "default scalars" or "default nonsymbolic scalars". Use the DEFINE macros only in .cc files.
Example example.h: #include "drake/common/default_scalars.h"
namespace sample {
template <typename T>
double Func1(const T&);
template <typename T, typename U>
double Func2(const T&, const U&);
template <typename T>
class SomeClass {
...
template <typename U>
SomeClass cast() const;
...
};
} // namespace sample
Example example.cc: #include "example.h"
namespace sample {
template <typename T>
double Func1(const T&) {
...
}
template <typename T, typename U>
double Func2(const T&, const U&) {
...
}
template <typename T>
template <typename U>
SomeClass<T>::SomeClass::cast() const {
...
};
// N.B. Place the macro invocation inside the functions' namespace.
&Func1<T>,
&Func2<T, U>,
&SomeClass<T>::template cast<U>
));
} // namespace sample
#define DRAKE_DEFINE_FUNCTION_TEMPLATE_INSTANTIATIONS_ON_DEFAULT_SCALARS(FunctionPointersTuple) Defines template instantiations for Drake's default scalars. Definition default_scalars.h:250
| |||
| #define | DRAKE_DEFINE_FUNCTION_TEMPLATE_INSTANTIATIONS_ON_DEFAULT_SCALARS(FunctionPointersTuple) | ||
| Defines template instantiations for Drake's default scalars. | |||
| #define | DRAKE_DEFINE_FUNCTION_TEMPLATE_INSTANTIATIONS_ON_DEFAULT_NONSYMBOLIC_SCALARS(FunctionPointersTuple) | ||
| Defines template instantiations for Drake's default nonsymbolic scalars. | |||
Variables | |
| template<typename T> | |
| constexpr bool | is_default_scalar |