mf
Media Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Namespaces | Typedefs | Functions
ndcoord.h File Reference
#include <cstddef>
#include <cassert>
#include <array>
#include <initializer_list>
#include <functional>
#include <ostream>
#include <type_traits>

Go to the source code of this file.

Classes

class  mf::ndcoord< Dim, T >
 Vector of n-dimensional coordinates. More...
 

Namespaces

 mf
 

Typedefs

template<std::size_t Dim>
using mf::ndsize = ndcoord< Dim, std::size_t >
 
template<std::size_t Dim>
using mf::ndptrdiff = ndcoord< Dim, std::ptrdiff_t >
 

Functions

template<std::size_t Dim, typename T , typename Unary >
ndcoord< Dim, T > mf::transform (const ndcoord< Dim, T > &a, Unary fct)
 
template<std::size_t Dim, typename T , typename Binary >
ndcoord< Dim, T > mf::transform (const ndcoord< Dim, T > &a, const ndcoord< Dim, T > &b, Binary fct)
 
template<std::size_t Dim, typename T >
std::ostream & mf::operator<< (std::ostream &str, const ndcoord< Dim, T > &coord)
 
template<typename T >
std::ostream & mf::operator<< (std::ostream &str, const ndcoord< 0, T > &coord)
 
template<typename T , typename... Components>
auto mf::make_ndcoord (Components...c)
 
template<typename... Components>
auto mf::make_ndsize (Components...c)
 
template<typename... Components>
auto mf::make_ndptrdiff (Components...c)
 
template<std::size_t Dim1, std::size_t Dim2, typename T >
ndcoord< Dim1+Dim2, T > mf::ndcoord_cat (const ndcoord< Dim1, T > &coord1, const ndcoord< Dim2, T > &coord2)
 
template<std::size_t Dim1, typename T , typename Int >
ndcoord< Dim1+1, T > mf::ndcoord_cat (const ndcoord< Dim1, T > &coord1, Int c2)
 
template<std::size_t Dim2, typename T , typename Int >
ndcoord< 1+Dim2, T > mf::ndcoord_cat (Int c1, const ndcoord< Dim2, T > &coord2)
 
template<typename T >
ndcoord< 2, T > mf::flip (const ndcoord< 2, T > &coord)