Loading...
Searching...
No Matches
include
concepts
bsdf_ptr.h
Go to the documentation of this file.
1
#ifndef _BBM_BSDF_PTR_CONCEPT_H_
2
#define _BBM_BSDF_PTR_CONCEPT_H_
3
4
#include "
concepts/bsdf.h
"
5
#include "
concepts/ptr_wrapper.h
"
6
7
/************************************************************************/
8
/*! \file bsdf_ptr.h
9
\brief bsdf_ptr contract
10
*************************************************************************/
11
12
namespace
bbm
{
13
namespace
concepts {
14
15
/********************************************************************/
16
/*! \brief bsdf_ptr concpt
17
18
A bsdf_ptr wraps a shared_ptr around a bsdf_base object. It provides the
19
following minimum functionality:
20
+ concepts::bsdf
21
+ concepts::ptr_wrapper
22
*********************************************************************/
23
template
<
typename
T>
24
concept
bsdf_ptr
=
concepts::bsdf<T>
&&
concepts::ptr_wrapper<T, bsdf_base<typename std::decay_t<T>::Config
>>;
25
26
}
// end concepts namespace
27
}
// end bbm namespace
28
29
#endif
/* _BBM_BSDF_PTR_CONCEPT_H_ */
bbm::concepts::bsdf_ptr
bsdf_ptr concpt
Definition:
bsdf_ptr.h:24
bbm::concepts::bsdf
bsdf concept
Definition:
bsdf.h:29
bbm::concepts::ptr_wrapper
ptr_wrapper concept
Definition:
ptr_wrapper.h:23
bsdf.h
bsdf contract: virtual interface wrapper around bsdfmodels
bbm
Definition:
aggregatebsdf.h:29
ptr_wrapper.h
A shared_ptr wrapper.