Geant4  v4-10.4-release
 모두 클래스 네임스페이스들 파일들 함수 변수 타입정의 열거형 타입 열거형 멤버 Friends 매크로 그룹들 페이지들
Public 멤버 함수 | Protected 속성 | 모든 멤버 목록
c2_const_ptr< float_type > 클래스 템플릿 참조

create a container for a c2_function which handles the reference counting. It is useful as a smart container to hold a c2_function and keep the reference count correct. The recommended way for a class to store a c2_function which is handed in from the outside is for it to have a c2_ptr member into which the passed-in function is stored. This way, when the class instance is deleted, it will automatically dereference any function which it was handed. 더 자세히 ...

#include <c2_function.hh>

c2_const_ptr< float_type >에 대한 상속 다이어그램 :
c2_ptr< float_type > c2_typed_ptr< float_type, c2_class >

Public 멤버 함수

 c2_const_ptr ()
 construct the container with no function 더 자세히 ...
 
 c2_const_ptr (const c2_function< float_type > &f)
 construct the container with a pre-defined function 더 자세히 ...
 
 c2_const_ptr (const c2_const_ptr< float_type > &src)
 copy constructor 더 자세히 ...
 
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 더 자세히 ...
 
const c2_function< float_type > & operator= (const c2_function< float_type > &f)
 fill the container with a function 더 자세히 ...
 
void release_for_return ()
 release the function without destroying it, so it can be returned from a function 더 자세히 ...
 
void unset_function (void)
 clear the function 더 자세히 ...
 
 ~c2_const_ptr ()
 destructor 더 자세히 ...
 
const c2_function< float_type > & get () const
 get a reference to our owned function 더 자세히 ...
 
const c2_function< float_type > * get_ptr () const
 get an unchecked pointer to our owned function 더 자세히 ...
 
const c2_function< float_type > * operator-> () const
 get a checked pointer to our owned function 더 자세히 ...
 
bool valid () const
 check if we have a valid function 더 자세히 ...
 
 operator const c2_function< float_type > & () const
 type coercion operator which lets us use a pointer as if it were a const c2_function 더 자세히 ...
 
float_type operator() (float_type x) const
 convenience operator to make us look like a function 더 자세히 ...
 
float_type operator() (float_type x, float_type *yprime, float_type *yprime2) const
 convenience operator to make us look like a function 더 자세히 ...
 
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. 더 자세히 ...
 
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. 더 자세히 ...
 

Protected 속성

const c2_function< float_type > * func
 

상세한 설명

template<typename float_type>
class c2_const_ptr< float_type >

create a container for a c2_function which handles the reference counting. It is useful as a smart container to hold a c2_function and keep the reference count correct. The recommended way for a class to store a c2_function which is handed in from the outside is for it to have a c2_ptr member into which the passed-in function is stored. This way, when the class instance is deleted, it will automatically dereference any function which it was handed.

This class contains a copy constructor and operator=, to make it fairly easy to make a std::vector of these objects, and have it work as expected.

c2_function.hh 파일의 681 번째 라인에서 정의되었습니다.

생성자 & 소멸자 문서화

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

construct the container with no function

c2_function.hh 파일의 684 번째 라인에서 정의되었습니다.

template<typename float_type>
c2_const_ptr< float_type >::c2_const_ptr ( const c2_function< float_type > &  f)
inline

construct the container with a pre-defined function

매개변수
fthe function to store

c2_function.hh 파일의 687 번째 라인에서 정의되었습니다.

template<typename float_type>
c2_const_ptr< float_type >::c2_const_ptr ( const c2_const_ptr< float_type > &  src)
inline

copy constructor

매개변수
srcthe container to copy

c2_function.hh 파일의 691 번째 라인에서 정의되었습니다.

template<typename float_type>
c2_const_ptr< float_type >::~c2_const_ptr ( )
inline

destructor

c2_function.hh 파일의 732 번째 라인에서 정의되었습니다.

멤버 함수 문서화

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

get a reference to our owned function

c2_function.hh 파일의 735 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : G4ScreenedCoulombClassicalKinematics::DoScreeningComputation(), c2_ptr< G4double >::get(), c2_typed_ptr< float_type, c2_class >::get().

template<typename float_type>
const c2_function<float_type>* c2_const_ptr< float_type >::get_ptr ( ) const
inline

get an unchecked pointer to our owned function

c2_function.hh 파일의 741 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : c2_const_ptr< G4double >::c2_const_ptr().

template<typename float_type>
c2_const_ptr< float_type >::operator const c2_function< float_type > & ( ) const
inline

type coercion operator which lets us use a pointer as if it were a const c2_function

c2_function.hh 파일의 750 번째 라인에서 정의되었습니다.

template<typename float_type>
float_type c2_const_ptr< float_type >::operator() ( float_type  x) const
inline

convenience operator to make us look like a function

매개변수
xthe value at which to evaluate the contained function
반환값
the evaluated function

c2_function.hh 파일의 756 번째 라인에서 정의되었습니다.

template<typename float_type>
float_type c2_const_ptr< float_type >::operator() ( float_type  x,
float_type *  yprime,
float_type *  yprime2 
) const
inline

convenience operator to make us look like a function

매개변수
xthe value at which to evaluate the contained function
yprimethe derivative
yprime2the second derivative
반환값
the evaluated function
주의
If you using this repeatedly, do const c2_function<float_type> &func=ptr; and use func(x). Calling this operator wastes some time, since it checks the alidity of the pointer every time.

c2_function.hh 파일의 767 번째 라인에서 정의되었습니다.

template<typename float_type>
c2_composed_function_p<float_type>& c2_const_ptr< float_type >::operator() ( const c2_function< float_type > &  inner) const
inline

compose this function outside another.

매개변수
innerthe inner function
반환값
the composed function

c2_function.hh 파일의 790 번째 라인에서 정의되었습니다.

template<typename float_type>
c2_product_p<float_type>& c2_const_ptr< float_type >::operator* ( const c2_function< float_type > &  rhs) const
inline

c2_function.hh 파일의 780 번째 라인에서 정의되었습니다.

template<typename float_type>
c2_sum_p<float_type>& c2_const_ptr< float_type >::operator+ ( const c2_function< float_type > &  rhs) const
inline

factory function to create a c2_sum_p from a regular algebraic expression.

매개변수
rhsthe right-hand term of the sum
반환값
a new c2_function

c2_function.hh 파일의 774 번째 라인에서 정의되었습니다.

template<typename float_type>
c2_diff_p<float_type>& c2_const_ptr< float_type >::operator- ( const c2_function< float_type > &  rhs) const
inline

c2_function.hh 파일의 777 번째 라인에서 정의되었습니다.

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

get a checked pointer to our owned function

c2_function.hh 파일의 743 번째 라인에서 정의되었습니다.

template<typename float_type>
c2_ratio_p<float_type>& c2_const_ptr< float_type >::operator/ ( const c2_function< float_type > &  rhs) const
inline

c2_function.hh 파일의 783 번째 라인에서 정의되었습니다.

template<typename float_type>
const c2_const_ptr<float_type>& c2_const_ptr< float_type >::operator= ( const c2_const_ptr< float_type > &  f)
inline

fill the container from another container

매개변수
fthe container to copy

c2_function.hh 파일의 703 번째 라인에서 정의되었습니다.

template<typename float_type>
const c2_function<float_type>& c2_const_ptr< float_type >::operator= ( const c2_function< float_type > &  f)
inline

fill the container with a function

매개변수
fthe function

c2_function.hh 파일의 708 번째 라인에서 정의되었습니다.

template<typename float_type>
void c2_const_ptr< float_type >::release_for_return ( )
inline

release the function without destroying it, so it can be returned from a function

This is usually the very last line of a function before the return statement, so that any exceptions that happen during execution of the function will cause proper cleanup. Once the function has been released from its container this way, it is an orhpaned object until the caller claims it, so it could get lost if an exception happens.

c2_function.hh 파일의 720 번째 라인에서 정의되었습니다.

다음에 의해서 참조됨 : LJZBLScreening().

template<typename float_type>
void c2_const_ptr< float_type >::set_function ( const c2_function< float_type > *  f)
inline
template<typename float_type>
void c2_const_ptr< float_type >::unset_function ( void  )
inline

clear the function

Any attempt to use this c2_plugin_function_p throws an exception if the saved function is cleared.

c2_function.hh 파일의 730 번째 라인에서 정의되었습니다.

template<typename float_type>
bool c2_const_ptr< float_type >::valid ( ) const
inline

check if we have a valid function

c2_function.hh 파일의 746 번째 라인에서 정의되었습니다.

멤버 데이타 문서화

template<typename float_type>
const c2_function<float_type>* c2_const_ptr< float_type >::func
protected

이 클래스에 대한 문서화 페이지는 다음의 파일로부터 생성되었습니다.: