-// Copyright (C) 2017-2019 CEA/DEN, EDF R&D
+// Copyright (C) 2017-2024 CEA, EDF
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
//
// Author : Anthony Geay (EDF R&D)
-#ifndef __MEDCOUPLING_MCTYPE_HXX__
-#define __MEDCOUPLING_MCTYPE_HXX__
+#pragma once
+
+#include "MCIdType.hxx"
#include <cstdint>
+#include <stddef.h>
+#include <cstddef>
namespace MEDCoupling
{
+ using mcIdType = ::mcIdType;
using Int64 = std::int64_t;
using Int32 = std::int32_t;
+
+ class DataArrayInt32;
+ class DataArrayInt32Iterator;
+ class DataArrayInt32Tuple;
+ class DataArrayInt64;
+ class DataArrayInt64Tuple;
+
#ifndef MEDCOUPLING_USE_64BIT_IDS
- using mcIdType = std::int32_t;
-#else
- using mcIdType = std::int64_t;
-#endif
- inline mcIdType ToIdType(std::size_t val) { return mcIdType(val); }
-}
-#define DataArrayInt DataArrayInt32
#define DataArrayIdType DataArrayInt32
+#define DataArrayIdTypeTuple DataArrayInt32Tuple
-#define DataArrayIntIterator DataArrayInt32Iterator
+#else
+
+#define DataArrayIdType DataArrayInt64
+#define DataArrayIdTypeTuple DataArrayInt64Tuple
#endif
+
+#define DataArrayInt DataArrayInt32
+#define DataArrayIntIterator DataArrayInt32Iterator
+}