-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2019 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
#include "MEDCouplingRefCountObject.hxx"
#include "InterpKernelException.hxx"
+#include <vector>
+
namespace MEDCoupling
{
template<class T>
return ret;
}
+ template<class T>
+ typename std::vector<const T *> ToConstVect(const typename std::vector< MCAuto<T> >& vec)
+ {
+ std::size_t sz(vec.size());
+ std::vector<const T *> ret(sz);
+ for(std::size_t i=0;i<sz;i++)
+ ret[i]=(const T *)vec[i];
+ return ret;
+ }
+
template<class T>
class MCConstAuto
{
const T& operator*() { return *_ptr; }
const T& operator*() const { return *_ptr; }
operator const T *() const { return _ptr; }
+ T *shameOnMeConstCast() const { return const_cast<T*>(_ptr); }
private:
void referPtr(const T *ptr) { _ptr=ptr; if(_ptr) _ptr->incrRef(); }
void destroyPtr() { if(_ptr) _ptr->decrRef(); }