-// Copyright (C) 2017 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
-typedef long Int64;
+#include "MCIdType.hxx"
-typedef int Int32;
+#include <cstdint>
+#include <stddef.h>
+#include <cstddef>
-#define DataArrayInt DataArrayInt32
+namespace MEDCoupling
+{
+ using mcIdType = ::mcIdType;
+ using Int64 = std::int64_t;
+ using Int32 = std::int32_t;
-#define DataArrayIntIterator DataArrayInt32Iterator
+ class DataArrayInt32;
+ class DataArrayInt32Iterator;
+ class DataArrayInt32Tuple;
+ class DataArrayInt64;
+ class DataArrayInt64Tuple;
+
+#ifndef MEDCOUPLING_USE_64BIT_IDS
+
+#define DataArrayIdType DataArrayInt32
+#define DataArrayIdTypeTuple DataArrayInt32Tuple
+
+#else
+
+#define DataArrayIdType DataArrayInt64
+#define DataArrayIdTypeTuple DataArrayInt64Tuple
#endif
+
+#define DataArrayInt DataArrayInt32
+#define DataArrayIntIterator DataArrayInt32Iterator
+}