Geant4  10.03.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
c2_ptr< float_type > Class Template Reference

#include <c2_function.hh>

Inheritance diagram for c2_ptr< float_type >:
Collaboration diagram for c2_ptr< float_type >:

Public Member Functions

 c2_ptr ()
 construct the container with no function More...
 
 c2_ptr (c2_function< float_type > &f)
 construct the container with a pre-defined function More...
 
 c2_ptr (const c2_ptr< float_type > &src)
 copy constructor More...
 
c2_function< float_type > & get () const
 get a checked pointer to our owned function More...
 
c2_function< float_type > * get_ptr () const
 get an unchecked pointer to our owned function More...
 
c2_function< float_type > * operator-> () const
 get a checked pointer to our owned function More...
 
const c2_ptr< float_type > & operator= (const c2_ptr< float_type > &f)
 fill the container from another container More...
 
c2_function< float_type > & operator= (c2_function< float_type > &f)
 fill the container with a function More...
 
- Public Member Functions inherited from c2_const_ptr< float_type >
 c2_const_ptr ()
 construct the container with no function More...
 
 c2_const_ptr (const c2_function< float_type > &f)
 construct the container with a pre-defined function More...
 
 c2_const_ptr (const c2_const_ptr< float_type > &src)
 copy constructor More...
 
void set_function (const c2_function< float_type > *f)
 
const c2_const_ptr< float_type > & operator= (const c2_const_ptr< float_type > &f)
 fill the container from another container More...
 
const c2_function< float_type > & operator= (const c2_function< float_type > &f)
 fill the container with a function More...
 
void release_for_return ()
 release the function without destroying it, so it can be returned from a function More...
 
void unset_function (void)
 clear the function More...
 
 ~c2_const_ptr ()
 destructor More...
 
const c2_function< float_type > & get () const
 get a reference to our owned function More...
 
const c2_function< float_type > * get_ptr () const
 get an unchecked pointer to our owned function More...
 
const c2_function< float_type > * operator-> () const
 get a checked pointer to our owned function More...
 
bool valid () const
 check if we have a valid function More...
 
 operator const c2_function< float_type > & () const
 type coercion operator which lets us use a pointer as if it were a const c2_function More...
 
float_type operator() (float_type x) const
 convenience operator to make us look like a function More...
 
float_type operator() (float_type x, float_type *yprime, float_type *yprime2) const
 convenience operator to make us look like a function More...
 
c2_sum_p< float_type > & operator+ (const c2_function< float_type > &rhs) const
 factory function to create a c2_sum_p from a regular algebraic expression. More...
 
c2_diff_p< float_type > & operator- (const c2_function< float_type > &rhs) const
 
c2_product_p< float_type > & operator* (const c2_function< float_type > &rhs) const
 
c2_ratio_p< float_type > & operator/ (const c2_function< float_type > &rhs) const
 
c2_composed_function_p
< float_type > & 
operator() (const c2_function< float_type > &inner) const
 compose this function outside another. More...
 

Additional Inherited Members

- Protected Attributes inherited from c2_const_ptr< float_type >
const c2_function< float_type > * func
 

Detailed Description

template<typename float_type>
class c2_ptr< float_type >

Definition at line 86 of file c2_function.hh.

Constructor & Destructor Documentation

template<typename float_type>
c2_ptr< float_type >::c2_ptr ( )
inline

construct the container with no function

Definition at line 802 of file c2_function.hh.

create a container for a c2_function which handles the reference counting. It is useful as a smart co...
Definition: c2_function.hh:681
template<typename float_type>
c2_ptr< float_type >::c2_ptr ( c2_function< float_type > &  f)
inline

construct the container with a pre-defined function

Parameters
fthe function to store

Definition at line 805 of file c2_function.hh.

805  :
806  c2_const_ptr<float_type>() { this->set_function(&f); }
create a container for a c2_function which handles the reference counting. It is useful as a smart co...
Definition: c2_function.hh:681
void set_function(const c2_function< float_type > *f)
Definition: c2_function.hh:693
template<typename float_type>
c2_ptr< float_type >::c2_ptr ( const c2_ptr< float_type > &  src)
inline

copy constructor

Parameters
srcthe container to copy

Definition at line 809 of file c2_function.hh.

809  :
810  c2_const_ptr<float_type>() { this->set_function(src.get_ptr()); }
c2_function< float_type > * get_ptr() const
get an unchecked pointer to our owned function
Definition: c2_function.hh:816
create a container for a c2_function which handles the reference counting. It is useful as a smart co...
Definition: c2_function.hh:681
void set_function(const c2_function< float_type > *f)
Definition: c2_function.hh:693

Member Function Documentation

template<typename float_type>
c2_function<float_type>& c2_ptr< float_type >::get ( ) const
inline

get a checked pointer to our owned function

Definition at line 812 of file c2_function.hh.

813  { return *const_cast<c2_function<float_type>*>(
const c2_function< float_type > & get() const
get a reference to our owned function
Definition: c2_function.hh:735
the parent class for all c2_functions.c2_functions know their value, first, and second derivative at ...
Definition: c2_function.hh:147
template<typename float_type>
c2_function<float_type>* c2_ptr< float_type >::get_ptr ( ) const
inline

get an unchecked pointer to our owned function

Definition at line 816 of file c2_function.hh.

817  { return const_cast<c2_function<float_type>*>(this->func); }
const c2_function< float_type > * func
Definition: c2_function.hh:795
the parent class for all c2_functions.c2_functions know their value, first, and second derivative at ...
Definition: c2_function.hh:147

Here is the caller graph for this function:

template<typename float_type>
c2_function<float_type>* c2_ptr< float_type >::operator-> ( ) const
inline

get a checked pointer to our owned function

Definition at line 819 of file c2_function.hh.

820  { return &get(); }
template<typename float_type>
const c2_ptr<float_type>& c2_ptr< float_type >::operator= ( const c2_ptr< float_type > &  f)
inline

fill the container from another container

Parameters
fthe container to copy

Definition at line 823 of file c2_function.hh.

824  { this->set_function(f.get_ptr()); return f; }
c2_function< float_type > * get_ptr() const
get an unchecked pointer to our owned function
Definition: c2_function.hh:816
void set_function(const c2_function< float_type > *f)
Definition: c2_function.hh:693
template<typename float_type>
c2_function<float_type>& c2_ptr< float_type >::operator= ( c2_function< float_type > &  f)
inline

fill the container with a function

Parameters
fthe function

Definition at line 827 of file c2_function.hh.

828  { this->set_function(&f); return f; }
void set_function(const c2_function< float_type > *f)
Definition: c2_function.hh:693

The documentation for this class was generated from the following file: