Prev | Next | atomic_three_ctor |
class atomic_user : public CppAD::atomic_three<Base> {
public:
atomic_user(ctor_arg_list) : CppAD::atomic_three<Base>(name)
...
};
atomic_user afun(ctor_arg_list)
template <class Base> atomic_three<Base>::atomic_three(const std::string& name )
atomic_user
constructor.
afun
must stay in scope for as long
as the corresponding atomic function is used.
This includes use by any ADFun<Base>
that
has this
atomic_user
operation in its
operation sequence
.
atomic_user
class is a publicly derived class of
atomic_three<Base>
.
It should be declared as follows:
class atomic_user : public CppAD::atomic_three<Base> {
public:
atomic_user(ctor_arg_list) : atomic_three<Base>(name)
...
};
where
...
denotes the rest of the implementation of the derived class.
This includes completing the constructor and
all the virtual functions that have their
atomic_three
implementations replaced by
atomic_user
implementations.
atomic_three
constructor and destructor cannot be called in
parallel
mode.
AD<Base>
atomic operation.
atomic_three
constructor argument has the following prototype
const std::string& name
It is the name for this atomic function and is used for error reporting.
The suggested value for
name
is
afun
or
atomic_user
,
i.e., the name of the corresponding atomic object or class.