Loading...
Searching...
No Matches
content.h File Reference

Go to the source code of this file.

Classes

class  PersistentSharedPtr
 Array nodes are frequently copied, but for some applications (one in Numba) it's better to keep a persistent std::shared_ptr. More...
 

Functions

py::object box (const std::shared_ptr< ak::Content > &content)
 
std::shared_ptr< ak::Contentunbox_content (const py::handle &obj)
 
template<typename T >
std::string repr (const T &self)
 
template<typename T >
int64_t len (const T &self)
 
int64_t check_maxdecimals (const py::object &maxdecimals)
 
ak::util::Parameters dict2parameters (const py::object &in)
 
py::dict parameters2dict (const ak::util::Parameters &in)
 
ak::Slice toslice (py::object obj)
 Converts Python objects in a slice into a C++ Slice. More...
 
py::class_< ak::ArrayBuildermake_ArrayBuilder (const py::handle &m, const std::string &name)
 Makes an ArrayBuilder class in Python that mirrors the one in C++. More...
 
template<typename T , typename I >
py::class_< ak::LayoutBuilder< T, I > > make_LayoutBuilder (const py::handle &m, const std::string &name)
 Makes a LayoutBuilder class in Python that mirrors the one in C++. More...
 
py::class_< ak::Iterator, std::shared_ptr< ak::Iterator > > make_Iterator (const py::handle &m, const std::string &name)
 Makes an Iterator class in Python that mirrors the one in C++. More...
 
py::class_< PersistentSharedPtrmake_PersistentSharedPtr (const py::handle &m, const std::string &name)
 Makes a PersistentSharedPtr class in Python that mirrors the one in C++. More...
 
py::class_< ak::Content, std::shared_ptr< ak::Content > > make_Content (const py::handle &m, const std::string &name)
 Makes an abstract Content class in Python that mirrors the one in C++. More...
 
py::class_< ak::EmptyArray, std::shared_ptr< ak::EmptyArray >, ak::Contentmake_EmptyArray (const py::handle &m, const std::string &name)
 Makes an EmptyArray in Python that mirrors the one in C++. More...
 
template<typename T , bool ISOPTION>
py::class_< ak::IndexedArrayOf< T, ISOPTION >, std::shared_ptr< ak::IndexedArrayOf< T, ISOPTION > >, ak::Contentmake_IndexedArrayOf (const py::handle &m, const std::string &name)
 Makes IndexedArray32, IndexedArrayU32, IndexedArray64, IndexedOptionArray32, and IndexedOptionArray64 classes in Python that mirror IndexedArrayOf in C++. More...
 
py::class_< ak::ByteMaskedArray, std::shared_ptr< ak::ByteMaskedArray >, ak::Contentmake_ByteMaskedArray (const py::handle &m, const std::string &name)
 Makes a ByteMaskedArray in Python that mirrors the one in C++. More...
 
py::class_< ak::BitMaskedArray, std::shared_ptr< ak::BitMaskedArray >, ak::Contentmake_BitMaskedArray (const py::handle &m, const std::string &name)
 Makes a BitMaskedArray in Python that mirrors the one in C++. More...
 
py::class_< ak::UnmaskedArray, std::shared_ptr< ak::UnmaskedArray >, ak::Contentmake_UnmaskedArray (const py::handle &m, const std::string &name)
 Makes a UnmaskedArray in Python that mirrors the one in C++. More...
 
template<typename T >
py::class_< ak::ListArrayOf< T >, std::shared_ptr< ak::ListArrayOf< T > >, ak::Contentmake_ListArrayOf (const py::handle &m, const std::string &name)
 Makes ListArray32, ListArrayU32, and ListArray64 classes in Python that mirror ListArrayOf in C++. More...
 
template<typename T >
py::class_< ak::ListOffsetArrayOf< T >, std::shared_ptr< ak::ListOffsetArrayOf< T > >, ak::Contentmake_ListOffsetArrayOf (const py::handle &m, const std::string &name)
 Makes ListOffsetArray32, ListOffsetArrayU32, and ListOffsetArray64 classes in Python that mirror ListOffsetArrayOf in C++. More...
 
py::class_< ak::NumpyArray, std::shared_ptr< ak::NumpyArray >, ak::Contentmake_NumpyArray (const py::handle &m, const std::string &name)
 Makes a NumpyArray in Python that mirrors the one in C++. More...
 
py::class_< ak::Record, std::shared_ptr< ak::Record > > make_Record (const py::handle &m, const std::string &name)
 Makes a Record in Python that mirrors the one in C++. More...
 
py::class_< ak::RecordArray, std::shared_ptr< ak::RecordArray >, ak::Contentmake_RecordArray (const py::handle &m, const std::string &name)
 Makes a RecordArray in Python that mirrors the one in C++. More...
 
py::class_< ak::RegularArray, std::shared_ptr< ak::RegularArray >, ak::Contentmake_RegularArray (const py::handle &m, const std::string &name)
 Makes a RegularArray in Python that mirrors the one in C++. More...
 
template<typename T , typename I >
py::class_< ak::UnionArrayOf< T, I >, std::shared_ptr< ak::UnionArrayOf< T, I > >, ak::Contentmake_UnionArrayOf (const py::handle &m, const std::string &name)
 Makes UnionArray8_32, UnionArray8_U32, and UnionArray8_64 classes in Python that mirror UnionArrayOf in C++. More...
 
py::class_< ak::VirtualArray, std::shared_ptr< ak::VirtualArray >, ak::Contentmake_VirtualArray (const py::handle &m, const std::string &name)
 Makes a VirtualArray in Python that mirrors the one in C++. More...
 

Function Documentation

◆ box()

py::object box ( const std::shared_ptr< ak::Content > &  content)

◆ check_maxdecimals()

int64_t check_maxdecimals ( const py::object &  maxdecimals)

◆ dict2parameters()

ak::util::Parameters dict2parameters ( const py::object &  in)

◆ len()

int64_t len ( const T &  self)

◆ make_ArrayBuilder()

py::class_< ak::ArrayBuilder > make_ArrayBuilder ( const py::handle &  m,
const std::string &  name 
)

Makes an ArrayBuilder class in Python that mirrors the one in C++.

◆ make_BitMaskedArray()

py::class_< ak::BitMaskedArray, std::shared_ptr< ak::BitMaskedArray >, ak::Content > make_BitMaskedArray ( const py::handle &  m,
const std::string &  name 
)

Makes a BitMaskedArray in Python that mirrors the one in C++.

◆ make_ByteMaskedArray()

py::class_< ak::ByteMaskedArray, std::shared_ptr< ak::ByteMaskedArray >, ak::Content > make_ByteMaskedArray ( const py::handle &  m,
const std::string &  name 
)

Makes a ByteMaskedArray in Python that mirrors the one in C++.

◆ make_Content()

py::class_< ak::Content, std::shared_ptr< ak::Content > > make_Content ( const py::handle &  m,
const std::string &  name 
)

Makes an abstract Content class in Python that mirrors the one in C++.

◆ make_EmptyArray()

py::class_< ak::EmptyArray, std::shared_ptr< ak::EmptyArray >, ak::Content > make_EmptyArray ( const py::handle &  m,
const std::string &  name 
)

Makes an EmptyArray in Python that mirrors the one in C++.

◆ make_IndexedArrayOf()

py::class_< ak::IndexedArrayOf< T, ISOPTION >, std::shared_ptr< ak::IndexedArrayOf< T, ISOPTION > >, ak::Content > make_IndexedArrayOf ( const py::handle &  m,
const std::string &  name 
)

Makes IndexedArray32, IndexedArrayU32, IndexedArray64, IndexedOptionArray32, and IndexedOptionArray64 classes in Python that mirror IndexedArrayOf in C++.

◆ make_Iterator()

py::class_< ak::Iterator, std::shared_ptr< ak::Iterator > > make_Iterator ( const py::handle &  m,
const std::string &  name 
)

Makes an Iterator class in Python that mirrors the one in C++.

◆ make_LayoutBuilder()

py::class_< ak::LayoutBuilder< T, I > > make_LayoutBuilder ( const py::handle &  m,
const std::string &  name 
)

Makes a LayoutBuilder class in Python that mirrors the one in C++.

◆ make_ListArrayOf()

py::class_< ak::ListArrayOf< T >, std::shared_ptr< ak::ListArrayOf< T > >, ak::Content > make_ListArrayOf ( const py::handle &  m,
const std::string &  name 
)

Makes ListArray32, ListArrayU32, and ListArray64 classes in Python that mirror ListArrayOf in C++.

◆ make_ListOffsetArrayOf()

py::class_< ak::ListOffsetArrayOf< T >, std::shared_ptr< ak::ListOffsetArrayOf< T > >, ak::Content > make_ListOffsetArrayOf ( const py::handle &  m,
const std::string &  name 
)

Makes ListOffsetArray32, ListOffsetArrayU32, and ListOffsetArray64 classes in Python that mirror ListOffsetArrayOf in C++.

◆ make_NumpyArray()

py::class_< ak::NumpyArray, std::shared_ptr< ak::NumpyArray >, ak::Content > make_NumpyArray ( const py::handle &  m,
const std::string &  name 
)

Makes a NumpyArray in Python that mirrors the one in C++.

◆ make_PersistentSharedPtr()

py::class_< PersistentSharedPtr > make_PersistentSharedPtr ( const py::handle &  m,
const std::string &  name 
)

Makes a PersistentSharedPtr class in Python that mirrors the one in C++.

◆ make_Record()

py::class_< ak::Record, std::shared_ptr< ak::Record > > make_Record ( const py::handle &  m,
const std::string &  name 
)

Makes a Record in Python that mirrors the one in C++.

Note that the Python Record class does not inherit from the Python Content class, although Record inherits from Content in C++. Ideally, we'd prefer scalars to not have the same type as arrays, but that's easier to do in Python.

◆ make_RecordArray()

py::class_< ak::RecordArray, std::shared_ptr< ak::RecordArray >, ak::Content > make_RecordArray ( const py::handle &  m,
const std::string &  name 
)

Makes a RecordArray in Python that mirrors the one in C++.

◆ make_RegularArray()

py::class_< ak::RegularArray, std::shared_ptr< ak::RegularArray >, ak::Content > make_RegularArray ( const py::handle &  m,
const std::string &  name 
)

Makes a RegularArray in Python that mirrors the one in C++.

◆ make_UnionArrayOf()

py::class_< ak::UnionArrayOf< T, I >, std::shared_ptr< ak::UnionArrayOf< T, I > >, ak::Content > make_UnionArrayOf ( const py::handle &  m,
const std::string &  name 
)

Makes UnionArray8_32, UnionArray8_U32, and UnionArray8_64 classes in Python that mirror UnionArrayOf in C++.

◆ make_UnmaskedArray()

py::class_< ak::UnmaskedArray, std::shared_ptr< ak::UnmaskedArray >, ak::Content > make_UnmaskedArray ( const py::handle &  m,
const std::string &  name 
)

Makes a UnmaskedArray in Python that mirrors the one in C++.

◆ make_VirtualArray()

py::class_< ak::VirtualArray, std::shared_ptr< ak::VirtualArray >, ak::Content > make_VirtualArray ( const py::handle &  m,
const std::string &  name 
)

Makes a VirtualArray in Python that mirrors the one in C++.

◆ parameters2dict()

py::dict parameters2dict ( const ak::util::Parameters in)

◆ repr()

std::string repr ( const T &  self)

◆ toslice()

ak::Slice toslice ( py::object  obj)

Converts Python objects in a slice into a C++ Slice.

◆ unbox_content()

std::shared_ptr< ak::Content > unbox_content ( const py::handle &  obj)