Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
ImSpan< T > Struct Template Reference

#include <src/imgui/imgui_internal.h>

+ Inheritance diagram for ImSpan< T >:

Public Member Functions

 ImSpan ()
 
 ImSpan (T *data, int size)
 
 ImSpan (T *data, T *data_end)
 
void set (T *data, int size)
 
void set (T *data, T *data_end)
 
int size () const
 
int size_in_bytes () const
 
T & operator[] (int i)
 
const T & operator[] (int i) const
 
T * begin ()
 
const T * begin () const
 
T * end ()
 
const T * end () const
 
int index_from_ptr (const T *it) const
 

Public Attributes

T * Data
 
T * DataEnd
 

Detailed Description

template<typename T>
struct ImSpan< T >

Constructor & Destructor Documentation

◆ ImSpan() [1/3]

template<typename T >
ImSpan< T >::ImSpan ( )
inline
560{ Data = DataEnd = NULL; }
T * DataEnd
Definition imgui_internal.h:557
T * Data
Definition imgui_internal.h:556

References ImSpan< T >::Data, and ImSpan< T >::DataEnd.

◆ ImSpan() [2/3]

template<typename T >
ImSpan< T >::ImSpan ( T *  data,
int  size 
)
inline
561{ Data = data; DataEnd = data + size; }
constexpr auto data(C &c) -> decltype(c.data())
Definition span.hpp:195
int size() const
Definition imgui_internal.h:566

References ImSpan< T >::Data, ImSpan< T >::DataEnd, and ImSpan< T >::size().

+ Here is the call graph for this function:

◆ ImSpan() [3/3]

template<typename T >
ImSpan< T >::ImSpan ( T *  data,
T *  data_end 
)
inline
562{ Data = data; DataEnd = data_end; }

References ImSpan< T >::Data, and ImSpan< T >::DataEnd.

Member Function Documentation

◆ begin() [1/2]

template<typename T >
T * ImSpan< T >::begin ( )
inline
571{ return Data; }

References ImSpan< T >::Data.

◆ begin() [2/2]

template<typename T >
const T * ImSpan< T >::begin ( ) const
inline
572{ return Data; }

References ImSpan< T >::Data.

◆ end() [1/2]

template<typename T >
T * ImSpan< T >::end ( )
inline
573{ return DataEnd; }

References ImSpan< T >::DataEnd.

◆ end() [2/2]

template<typename T >
const T * ImSpan< T >::end ( ) const
inline
574{ return DataEnd; }

References ImSpan< T >::DataEnd.

◆ index_from_ptr()

template<typename T >
int ImSpan< T >::index_from_ptr ( const T *  it) const
inline
577{ IM_ASSERT(it >= Data && it < DataEnd); const ptrdiff_t off = it - Data; return (int)off; }
#define IM_ASSERT(_EXPR)
Definition imgui.h:81

References ImSpan< T >::Data, ImSpan< T >::DataEnd, and IM_ASSERT.

Referenced by TableSetupColumnFlags().

+ Here is the caller graph for this function:

◆ operator[]() [1/2]

template<typename T >
T & ImSpan< T >::operator[] ( int  i)
inline
568{ T* p = Data + i; IM_ASSERT(p >= Data && p < DataEnd); return *p; }

References ImSpan< T >::Data, ImSpan< T >::DataEnd, and IM_ASSERT.

◆ operator[]() [2/2]

template<typename T >
const T & ImSpan< T >::operator[] ( int  i) const
inline
569{ const T* p = Data + i; IM_ASSERT(p >= Data && p < DataEnd); return *p; }

References ImSpan< T >::Data, ImSpan< T >::DataEnd, and IM_ASSERT.

◆ set() [1/2]

template<typename T >
void ImSpan< T >::set ( T *  data,
int  size 
)
inline
564{ Data = data; DataEnd = data + size; }

References ImSpan< T >::Data, ImSpan< T >::DataEnd, and ImSpan< T >::size().

Referenced by ImSpanAllocator< CHUNKS >::GetSpan().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ set() [2/2]

template<typename T >
void ImSpan< T >::set ( T *  data,
T *  data_end 
)
inline
565{ Data = data; DataEnd = data_end; }

References ImSpan< T >::Data, and ImSpan< T >::DataEnd.

◆ size()

template<typename T >
int ImSpan< T >::size ( ) const
inline
566{ return (int)(ptrdiff_t)(DataEnd - Data); }

References ImSpan< T >::Data, and ImSpan< T >::DataEnd.

Referenced by ImSpan< T >::ImSpan(), ImGui::BeginTableEx(), and ImSpan< T >::set().

+ Here is the caller graph for this function:

◆ size_in_bytes()

template<typename T >
int ImSpan< T >::size_in_bytes ( ) const
inline
567{ return (int)(ptrdiff_t)(DataEnd - Data) * (int)sizeof(T); }

References ImSpan< T >::Data, and ImSpan< T >::DataEnd.

Member Data Documentation

◆ Data

◆ DataEnd


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