Newer
Older
/***************************************************************************
tnlEllpackNetworkPorts.h - description
-------------------
begin : Sep 10, 2015
copyright : (C) 2015 by Tomas Oberhuber et al.
email : tomas.oberhuber@fjfi.cvut.cz
***************************************************************************/
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef TNLELLPACKNETWORKPORTS_H
#define TNLELLPACKNETWORKPORTS_H
Tomáš Oberhuber
committed
#include <ostream>
#include <networks/tnlEllpackNetwork.h>
template< typename Index,
typename Device >
class tnlEllpackNetworkPorts
typedef Device DeviceType;
typedef Index IndexType;
typedef tnlEllpackNetwork< IndexType, DeviceType > NetworkType;
IndexType getPortsCount() const;
void setOutput( const IndexType portIndex,
const IndexType output );
IndexType getOutput( const IndexType portIndex ) const;
IndexType& operator[]( const IndexType portIndex );
const IndexType& operator[]( const IndexType portIndex ) const;
Tomáš Oberhuber
committed
void print( std::ostream& str ) const;
tnlEllpackNetworkPorts( IndexType* ports,
const IndexType input,
const IndexType portsMaxCount );
IndexType step, portsMaxCount;
friend tnlEllpackNetwork< IndexType, DeviceType >;
Tomáš Oberhuber
committed
template< typename Index,
typename Device >
std::ostream& operator << ( std::ostream& str, const tnlEllpackNetworkPorts< Index, Device>& ports );
#include <networks/tnlEllpackNetworkPorts_impl.h>
#endif /* TNLELLPACKNETWORKPORTS_H */