26 #ifndef NVNEURAL_LAYERLIST_H
27 #define NVNEURAL_LAYERLIST_H
50 explicit LayerList(
const std::vector<ILayer*>& layerList)
55 std::back_inserter(m_layerList),
56 [](
ILayer* pRaw) { return RefPtr<ILayer>::fromPointer(pRaw); });
61 : m_layerList(layerList)
67 : m_layerList(std::move(layerList))
74 return m_layerList.size();
80 if (layerIndex < m_layerList.size())
82 return m_layerList[layerIndex].get();
91 std::vector<RefPtr<ILayer>> m_layerList;
Fundamental NvNeural data types are declared here.
Interface types needed by layer objects.
Standard implementation for IRefObject-derived objects.
Smart pointer class for tracking IRefObject instances.
ILayer is the base class for neural network layers.
Definition: LayerTypes.h:59
Simple implementation of ILayerList.
Definition: LayerList.h:45
LayerList(const std::vector< ILayer * > &layerList)
Initialize from a vector of raw pointers.
Definition: LayerList.h:50
LayerList(const std::vector< RefPtr< ILayer >> &layerList)
Initialize from a vector of RefPtr (copy ctor).
Definition: LayerList.h:60
size_t layerCount() const noexcept
Returns the number of layers in the collection.
Definition: LayerList.h:72
ILayer * getLayerByIndex(size_t layerIndex) const noexcept
Returns the Nth ILayer pointer in the collection.
Definition: LayerList.h:78
LayerList(std::vector< RefPtr< ILayer >> &&layerList)
Initialize from a vector of RefPtr (move ctor).
Definition: LayerList.h:66
Intrusive pointer using IRefObject's reference counting system.
Definition: RefPtr.h:46
Parameterized base class implementing common IRefObject operations.
Definition: RefObject.h:336