Loading...
Searching...
No Matches
L4::Smart_cap< T, SMART > Class Template Reference

Smart capability class. More...

`#include <smart_capability>`

Inheritance diagram for L4::Smart_cap< T, SMART >:
Collaboration diagram for L4::Smart_cap< T, SMART >:

## Public Member Functions

template<typename O>
| Smart_cap (Cap< O > const &p) noexcept
| Internal constructor, use to generate a capability from a this pointer.
Cap< T > | operator-> () const noexcept
| Member access of a T.
Public Member Functions inherited from L4::Cap_base
l4_cap_idx_t | cap () const noexcept
| Return capability selector.
bool | is_valid () const noexcept
| Test whether the capability is a valid capability index (i.e., not L4_INVALID_CAP).
int | invalid_cap_error () const noexcept
| Return the transported error code in an invalid capability index.
l4_fpage_t | fpage (unsigned rights=L4_CAP_FPAGE_RWS) const noexcept
| Return flexpage for the capability.
l4_umword_t | snd_base (unsigned grant=L4_MAP_ITEM_MAP, l4_cap_idx_t base=L4_INVALID_CAP) const noexcept
| Return send base.
bool | operator== (Cap_base const &o) const noexcept
| Test if two capabilities are equal.
bool | operator!= (Cap_base const &o) const noexcept
| Test if two capabilities are not equal.
l4_msgtag_t | validate (l4_utcb_t *u=l4_utcb()) const noexcept
| Check whether a capability is present (refers to an object).
l4_msgtag_t | validate (Cap< Task > task, l4_utcb_t *u=l4_utcb()) const noexcept
| Check whether a capability is present (refers to an object).
void | invalidate () noexcept
| Set this capability to invalid (L4_INVALID_CAP).

## Additional Inherited Members

Public Types inherited from L4::Cap_base
enum | No_init_type { No_init }
| Special value for uninitialized capability objects. More...
enum | Cap_type { Invalid = L4_INVALID_CAP }
| Invalid capability type. More...
Protected Member Functions inherited from L4::Cap_base
| Cap_base (l4_cap_idx_t c) noexcept
| Generate a capability from its C representation.
| Cap_base (Cap_type cap) noexcept
| Constructor to create an invalid capability.
| Cap_base (l4_default_caps_t cap) noexcept
| Initialize capability with one of the default capabilities.
| Cap_base () noexcept
| Create an uninitialized instance.
void | move (Cap_base const &src) const
| Replace this capability with the contents of src.
void | copy (Cap_base const &src) const
| Copy a capability.
Protected Attributes inherited from L4::Cap_base
l4_cap_idx_t | _c
| The C representation of a capability selector.

## Detailed Description

template<typename T, typename SMART>
class L4::Smart_cap< T, SMART >

Smart capability class.

Definition at line 25 of file smart_capability.

## Constructor & Destructor Documentation

## Smart_cap()

template<typename T, typename SMART>
template<typename O>

L4::Smart_cap< T, SMART >::Smart_cap | ( | Cap< O > const & | p | ) |

inlinenoexcept

Internal constructor, use to generate a capability from a this pointer.

Attention
  This constructor is only useful to generate a capability from the this pointer of an objected that is an L4::Kobject. Do never use this constructor for something else!

Parameters

  p | The this pointer of the Kobject or derived object

Definition at line 62 of file smart_capability.

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

- l4/sys/smart_capability