LIEF: Library to Instrument Executable Formats Version 2.0.0
Loading...
Searching...
No Matches
LIEF::details::container_storage< T, bool > Class Template Reference

Storage of the container iterated by a ref_iterator or a filter_iterator. More...

#include <iterators.hpp>

Public Types

using container_t = std::remove_reference_t<T>
using arg_t = T

Public Member Functions

 container_storage ()=default
 container_storage (arg_t container)
container_t * get () const
 The container or a nullptr if the storage is default-constructed.

Detailed Description

template<class T, bool = std::is_reference_v<T>>
class LIEF::details::container_storage< T, bool >

Storage of the container iterated by a ref_iterator or a filter_iterator.

If the iterator is instantiated with a reference (e.g. std::vector<Section*>&), the container is borrowed the iterator and the storage is a pointer on it. Otherwise, the storage holds the container itself and copying the iterator copies the container.

Member Typedef Documentation

◆ arg_t

template<class T, bool = std::is_reference_v<T>>
using LIEF::details::container_storage< T, bool >::arg_t = T

◆ container_t

template<class T, bool = std::is_reference_v<T>>
using LIEF::details::container_storage< T, bool >::container_t = std::remove_reference_t<T>

Constructor & Destructor Documentation

◆ container_storage() [1/2]

template<class T, bool = std::is_reference_v<T>>
LIEF::details::container_storage< T, bool >::container_storage ( )
default

◆ container_storage() [2/2]

template<class T, bool = std::is_reference_v<T>>
LIEF::details::container_storage< T, bool >::container_storage ( arg_t container)
inlineexplicit

Member Function Documentation

◆ get()

template<class T, bool = std::is_reference_v<T>>
container_t * LIEF::details::container_storage< T, bool >::get ( ) const
inline

The container or a nullptr if the storage is default-constructed.


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