texttransformer.jpg

This article can be obsolete: Actual documentation online

namespaces


In the professional version there is a option, to create a namespace for each unit.
In C++ header files the namespaces are put in front of types and constants from other units and in the C++ implementation files according "using" clauses are inserted.

Example:

unit Namespace1;
interface
type

PInteger = ^integer;
...

unit Namespace2;
interface
uses Namespace1;
type

PInt = PInteger;

implementation
const

_pint1 : PInteger = Nil;
_pint2 : PInt = Nil;

end.

Namespace2 is translated to the header:

#ifndef Namespace2H
#define Namespace2H

#include "Namespace1.h"

namespace Namespace2
{
typedef Namespace1::PInteger PInt;
}  // namespace Namespace2
#endif //  Namespace2H

and the implementation:

#include 
#pragma hdrstop

#include "Namespace2.h"

using namespace Namespace1;

namespace Namespace2
{
PInteger _pint1 = NULL;
PInt _pint2 = NULL;
}  // namespace Namespace2



   deutsch Deutsch

 

 
Latest News
10/28/24
Delphi2Cpp 2.5: Symbol names matching declaration case [more...]

08/26/24
Delphi2Cpp 2.4: Updated to RAD Studio 12.1 Athens [more...]



"Thanks for your great work, really appreciate the work you have done on zlib and compiling ... test case."


Mattewada, Udayabhaskar
Nokia India 02/01/2021




[from case study...]

"A masterpiece -- Delphi2Cpp has exceeded all my expectations by far."


Tony Hürlimann
virtual-optima 08/20/2011



"First off, I have to say WOW! Delphi2Cpp is doing a *fantastic* job!"


Daniel Flower
linkrealms 01/15/2011


 
This website is generated from plain text with [Minimal Website ]

Minimal Website
Minimal Website is made with TextTransformer

TextTransformer
TextTransformer is made with Borland CBuilder

  borland