init uwp commit
This commit is contained in:
commit
b14cfc92e4
|
@ -0,0 +1,7 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,93 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace DeepNestLib
|
||||
{
|
||||
public class D3
|
||||
{
|
||||
|
||||
// Returns the 2D cross product of AB and AC vectors, i.e., the z-component of
|
||||
// the 3D cross product in a quadrant I Cartesian coordinate system (+x is
|
||||
// right, +y is up). Returns a positive value if ABC is counter-clockwise,
|
||||
// negative if clockwise, and zero if the points are collinear.
|
||||
public static double cross(double[] a, double[] b, double[] c)
|
||||
{
|
||||
return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);
|
||||
}
|
||||
// Computes the upper convex hull per the monotone chain algorithm.
|
||||
// Assumes points.length >= 3, is sorted by x, unique in y.
|
||||
// Returns an array of indices into points in left-to-right order.
|
||||
public static int[] computeUpperHullIndexes(double[][] points)
|
||||
{
|
||||
Dictionary<int, int> indexes = new Dictionary<int, int>();
|
||||
indexes.Add(0, 0);
|
||||
indexes.Add(1, 1);
|
||||
var n = points.Count();
|
||||
var size = 2;
|
||||
|
||||
for (var i = 2; i < n; ++i)
|
||||
{
|
||||
while (size > 1 && cross(points[indexes[size - 2]], points[indexes[size - 1]], points[i]) <= 0) --size;
|
||||
|
||||
if (!indexes.ContainsKey(size))
|
||||
{
|
||||
indexes.Add(size, -1);
|
||||
}
|
||||
indexes[size++] = i;
|
||||
}
|
||||
List<int> ret = new List<int>();
|
||||
for (int i = 0; i < size; i++)
|
||||
{
|
||||
ret.Add(indexes[i]);
|
||||
}
|
||||
return ret.ToArray();
|
||||
//return indexes.slice(0, size); // remove popped points
|
||||
}
|
||||
|
||||
public class HullInfoPoint
|
||||
{
|
||||
public double x;
|
||||
public double y;
|
||||
public int index;
|
||||
}
|
||||
public static double[][] polygonHull(double[][] points)
|
||||
{
|
||||
int n;
|
||||
n = points.Count();
|
||||
if ((n) < 3) return null;
|
||||
|
||||
|
||||
|
||||
HullInfoPoint[] sortedPoints = new HullInfoPoint[n];
|
||||
double[][] flippedPoints = new double[n][];
|
||||
|
||||
|
||||
|
||||
for (int i = 0; i < n; ++i) sortedPoints[i] = new HullInfoPoint { x = points[i][0], y = points[i][1], index = i };
|
||||
sortedPoints = sortedPoints.OrderBy(x => x.x).ThenBy(z => z.y).ToArray();
|
||||
|
||||
for (int i = 0; i < n; ++i) flippedPoints[i] = new double[] { sortedPoints[i].x, -sortedPoints[i].y };
|
||||
|
||||
var upperIndexes = computeUpperHullIndexes(sortedPoints.Select(z => new double[] { z.x, z.y, z.index }).ToArray());
|
||||
var lowerIndexes = computeUpperHullIndexes(flippedPoints);
|
||||
|
||||
|
||||
// Construct the hull polygon, removing possible duplicate endpoints.
|
||||
var skipLeft = lowerIndexes[0] == upperIndexes[0];
|
||||
var skipRight = lowerIndexes[lowerIndexes.Length - 1] == upperIndexes[upperIndexes.Length - 1];
|
||||
List<double[]> hull = new List<double[]>();
|
||||
|
||||
// Add upper hull in right-to-l order.
|
||||
// Then add lower hull in left-to-right order.
|
||||
for (int i = upperIndexes.Length - 1; i >= 0; --i)
|
||||
hull.Add(points[sortedPoints[upperIndexes[i]].index]);
|
||||
//for (int i = +skipLeft; i < lowerIndexes.Length - skipRight; ++i) hull.push(points[sortedPoints[lowerIndexes[i]][2]]);
|
||||
for (int i = skipLeft ? 1 : 0; i < lowerIndexes.Length - (skipRight ? 1 : 0); ++i) hull.Add(points[sortedPoints[lowerIndexes[i]].index]);
|
||||
|
||||
return hull.ToArray();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="SvgPathProperties" Version="1.1.2" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Clipper.Core\Clipper.Core.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,42 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace DeepNestLib
|
||||
{
|
||||
public static class Extensions
|
||||
{
|
||||
public static T[] splice<T>(this T[] p, int a, int b)
|
||||
{
|
||||
List<T> ret = new List<T>();
|
||||
for (int i = 0; i < p.Length; i++)
|
||||
{
|
||||
if (i >= a && i < (a + b)) continue;
|
||||
ret.Add(p[i]);
|
||||
}
|
||||
return ret.ToArray();
|
||||
}
|
||||
|
||||
public static List<List<ClipperLib.IntPoint>> splice(this List<List<ClipperLib.IntPoint>> p, int a, int b)
|
||||
{
|
||||
List<List<ClipperLib.IntPoint>> ret = new List<List<ClipperLib.IntPoint>>();
|
||||
for (int i = a; i < (a + b); i++)
|
||||
{
|
||||
if (i >= a && i < (a + b)) continue;
|
||||
ret.Add(p[i]);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static NFP[] splice(this NFP[] p, int a, int b)
|
||||
{
|
||||
List<NFP> ret = new List<NFP>();
|
||||
for (int i = 0; i < p.Length; i++)
|
||||
{
|
||||
if (i >= a && i < (a + b)) continue;
|
||||
ret.Add(p[i]);
|
||||
}
|
||||
|
||||
return ret.ToArray();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,202 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace DeepNestLib
|
||||
{
|
||||
public class GeneticAlgorithm
|
||||
{
|
||||
SvgNestConfig Config;
|
||||
public List<PopulationItem> population;
|
||||
|
||||
public static bool StrictAngles = false;
|
||||
float[] defaultAngles = new float[] {
|
||||
0,
|
||||
0,
|
||||
90,
|
||||
0,
|
||||
0,
|
||||
270,
|
||||
180,
|
||||
180,
|
||||
180,
|
||||
90
|
||||
};
|
||||
|
||||
public GeneticAlgorithm(NFP[] adam, SvgNestConfig config)
|
||||
{
|
||||
List<float> ang2 = new List<float>();
|
||||
for (int i = 0; i < adam.Length; i++)
|
||||
{
|
||||
ang2.Add((i * 90) % 360);
|
||||
}
|
||||
defaultAngles = ang2.ToArray();
|
||||
Config = config;
|
||||
|
||||
|
||||
List<float> angles = new List<float>();
|
||||
for (int i = 0; i < adam.Length; i++)
|
||||
{
|
||||
if (StrictAngles)
|
||||
{
|
||||
angles.Add(defaultAngles[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
var angle = (float)Math.Floor(r.NextDouble() * Config.rotations) * (360f / Config.rotations);
|
||||
angles.Add(angle);
|
||||
}
|
||||
|
||||
//angles.Add(randomAngle(adam[i]));
|
||||
}
|
||||
|
||||
|
||||
population = new List<PopulationItem>();
|
||||
population.Add(new PopulationItem() { placements = adam.ToList(), Rotation = angles.ToArray() });
|
||||
while (population.Count() < config.populationSize)
|
||||
{
|
||||
var mutant = this.mutate(population[0]);
|
||||
population.Add(mutant);
|
||||
}
|
||||
}
|
||||
|
||||
public PopulationItem mutate(PopulationItem p)
|
||||
{
|
||||
var clone = new PopulationItem();
|
||||
|
||||
clone.placements = p.placements.ToArray().ToList();
|
||||
clone.Rotation = p.Rotation.Clone() as float[];
|
||||
for (int i = 0; i < clone.placements.Count(); i++)
|
||||
{
|
||||
var rand = r.NextDouble();
|
||||
if (rand < 0.01 * Config.mutationRate)
|
||||
{
|
||||
var j = i + 1;
|
||||
if (j < clone.placements.Count)
|
||||
{
|
||||
var temp = clone.placements[i];
|
||||
clone.placements[i] = clone.placements[j];
|
||||
clone.placements[j] = temp;
|
||||
}
|
||||
}
|
||||
rand = r.NextDouble();
|
||||
if (rand < 0.01 * Config.mutationRate)
|
||||
{
|
||||
clone.Rotation[i] = (float)Math.Floor(r.NextDouble() * Config.rotations) * (360f / Config.rotations);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return clone;
|
||||
}
|
||||
Random r = new Random();
|
||||
public float[] shuffleArray(float[] array)
|
||||
{
|
||||
for (var i = array.Length - 1; i > 0; i--)
|
||||
{
|
||||
var j = (int)Math.Floor(r.NextDouble() * (i + 1));
|
||||
var temp = array[i];
|
||||
array[i] = array[j];
|
||||
array[j] = temp;
|
||||
}
|
||||
return array;
|
||||
}
|
||||
|
||||
|
||||
// returns a random individual from the population, weighted to the front of the list (lower fitness value is more likely to be selected)
|
||||
public PopulationItem randomWeightedIndividual(PopulationItem exclude = null)
|
||||
{
|
||||
//var pop = this.population.slice(0);
|
||||
var pop = this.population.ToArray();
|
||||
|
||||
if (exclude != null && Array.IndexOf(pop, exclude) >= 0)
|
||||
{
|
||||
pop.splice(Array.IndexOf(pop, exclude), 1);
|
||||
}
|
||||
|
||||
var rand = r.NextDouble();
|
||||
|
||||
float lower = 0;
|
||||
var weight = 1 / (float)pop.Length;
|
||||
float upper = weight;
|
||||
|
||||
for (var i = 0; i < pop.Length; i++)
|
||||
{
|
||||
// if the random number falls between lower and upper bounds, select this individual
|
||||
if (rand > lower && rand < upper)
|
||||
{
|
||||
return pop[i];
|
||||
}
|
||||
lower = upper;
|
||||
upper += 2 * weight * ((pop.Length - i) / (float)pop.Length);
|
||||
}
|
||||
|
||||
return pop[0];
|
||||
}
|
||||
|
||||
// single point crossover
|
||||
public PopulationItem[] mate(PopulationItem male, PopulationItem female)
|
||||
{
|
||||
var cutpoint = (int)Math.Round(Math.Min(Math.Max(r.NextDouble(), 0.1), 0.9) * (male.placements.Count - 1));
|
||||
|
||||
var gene1 = new List<NFP>(male.placements.Take(cutpoint).ToArray());
|
||||
var rot1 = new List<float>(male.Rotation.Take(cutpoint).ToArray());
|
||||
|
||||
var gene2 = new List<NFP>(female.placements.Take(cutpoint).ToArray());
|
||||
var rot2 = new List<float>(female.Rotation.Take(cutpoint).ToArray());
|
||||
|
||||
int i = 0;
|
||||
|
||||
for (i = 0; i < female.placements.Count; i++)
|
||||
{
|
||||
if (!gene1.Any(z => z.id == female.placements[i].id))
|
||||
{
|
||||
gene1.Add(female.placements[i]);
|
||||
rot1.Add(female.Rotation[i]);
|
||||
}
|
||||
}
|
||||
|
||||
for (i = 0; i < male.placements.Count; i++)
|
||||
{
|
||||
if (!gene2.Any(z => z.id == male.placements[i].id))
|
||||
{
|
||||
gene2.Add(male.placements[i]);
|
||||
rot2.Add(male.Rotation[i]);
|
||||
}
|
||||
}
|
||||
|
||||
return new[] {new PopulationItem() {
|
||||
placements= gene1, Rotation= rot1.ToArray()},
|
||||
new PopulationItem(){ placements= gene2, Rotation= rot2.ToArray()}};
|
||||
}
|
||||
|
||||
public void generation()
|
||||
{
|
||||
// Individuals with higher fitness are more likely to be selected for mating
|
||||
population = population.OrderBy(z => z.fitness).ToList();
|
||||
|
||||
// fittest individual is preserved in the new generation (elitism)
|
||||
|
||||
List<PopulationItem> newpopulation = new List<PopulationItem>();
|
||||
newpopulation.Add(this.population[0]);
|
||||
while (newpopulation.Count() < this.population.Count)
|
||||
{
|
||||
var male = randomWeightedIndividual();
|
||||
var female = randomWeightedIndividual(male);
|
||||
|
||||
// each mating produces two children
|
||||
var children = mate(male, female);
|
||||
|
||||
// slightly mutate children
|
||||
newpopulation.Add(this.mutate(children[0]));
|
||||
|
||||
if (newpopulation.Count < this.population.Count)
|
||||
{
|
||||
newpopulation.Add(this.mutate(children[1]));
|
||||
}
|
||||
}
|
||||
|
||||
this.population = newpopulation;
|
||||
}
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,11 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace DeepNestLib
|
||||
{
|
||||
public interface IStringify
|
||||
{
|
||||
string stringify();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,213 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace DeepNestLib
|
||||
{
|
||||
public class NFP : IStringify
|
||||
{
|
||||
public int Z;
|
||||
public bool fitted { get { return sheet != null; } }
|
||||
public NFP sheet;
|
||||
public object Tag;
|
||||
public override string ToString()
|
||||
{
|
||||
var str1 = (Points != null) ? Points.Count() + "" : "null";
|
||||
return $"nfp: id: {id}; source: {source}; rotation: {rotation}; points: {str1}";
|
||||
}
|
||||
public NFP()
|
||||
{
|
||||
Points = new SvgPoint[] { };
|
||||
}
|
||||
|
||||
public string Name { get; set; }
|
||||
public void AddPoint(SvgPoint point)
|
||||
{
|
||||
var list = Points.ToList();
|
||||
list.Add(point);
|
||||
Points = list.ToArray();
|
||||
}
|
||||
|
||||
#region gdi section
|
||||
public bool isBin;
|
||||
|
||||
#endregion
|
||||
public void reverse()
|
||||
{
|
||||
Points = Points.Reverse().ToArray();
|
||||
}
|
||||
|
||||
public StringBuilder GetXml()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("<?xml version=\"1.0\"?>");
|
||||
sb.AppendLine("<root>");
|
||||
sb.AppendLine("<region>");
|
||||
foreach (var item in Points)
|
||||
{
|
||||
sb.AppendLine($"<point x=\"{item.x}\" y=\"{item.y}\"/>");
|
||||
}
|
||||
sb.AppendLine("</region>");
|
||||
if (children != null)
|
||||
foreach (var item in children)
|
||||
{
|
||||
sb.AppendLine("<region>");
|
||||
foreach (var citem in item.Points)
|
||||
{
|
||||
sb.AppendLine($"<point x=\"{citem.x}\" y=\"{citem.y}\"/>");
|
||||
}
|
||||
sb.AppendLine("</region>");
|
||||
}
|
||||
|
||||
sb.AppendLine("</root>");
|
||||
|
||||
return sb;
|
||||
}
|
||||
public double x { get; set; }
|
||||
public double y { get; set; }
|
||||
|
||||
public double WidthCalculated
|
||||
{
|
||||
get
|
||||
{
|
||||
var maxx = Points.Max(z => z.x);
|
||||
var minx = Points.Min(z => z.x);
|
||||
|
||||
return maxx - minx;
|
||||
}
|
||||
}
|
||||
|
||||
public double HeightCalculated
|
||||
{
|
||||
get
|
||||
{
|
||||
var maxy = Points.Max(z => z.y);
|
||||
var miny = Points.Min(z => z.y);
|
||||
return maxy - miny;
|
||||
}
|
||||
}
|
||||
|
||||
public SvgPoint this[int ind]
|
||||
{
|
||||
get
|
||||
{
|
||||
return Points[ind];
|
||||
}
|
||||
}
|
||||
|
||||
public List<NFP> children;
|
||||
|
||||
|
||||
|
||||
|
||||
public int Length
|
||||
{
|
||||
get
|
||||
{
|
||||
return Points.Length;
|
||||
}
|
||||
}
|
||||
|
||||
//public float? width;
|
||||
//public float? height;
|
||||
public int length
|
||||
{
|
||||
get
|
||||
{
|
||||
return Points.Length;
|
||||
}
|
||||
}
|
||||
|
||||
public int Id;
|
||||
public int id
|
||||
{
|
||||
get
|
||||
{
|
||||
return Id;
|
||||
}
|
||||
set
|
||||
{
|
||||
Id = value;
|
||||
}
|
||||
}
|
||||
|
||||
public double? offsetx;
|
||||
public double? offsety;
|
||||
public int? source = null;
|
||||
public float Rotation;
|
||||
|
||||
public float rotation
|
||||
{
|
||||
get
|
||||
{
|
||||
return Rotation;
|
||||
}
|
||||
set
|
||||
{
|
||||
Rotation = value;
|
||||
}
|
||||
}
|
||||
public SvgPoint[] Points;
|
||||
public float Area
|
||||
{
|
||||
get
|
||||
{
|
||||
float ret = 0;
|
||||
if (Points.Length < 3) return 0;
|
||||
List<SvgPoint> pp = new List<SvgPoint>();
|
||||
pp.AddRange(Points);
|
||||
pp.Add(Points[0]);
|
||||
for (int i = 1; i < pp.Count; i++)
|
||||
{
|
||||
var s0 = pp[i - 1];
|
||||
var s1 = pp[i];
|
||||
ret += (float)(s0.x * s1.y - s0.y * s1.x);
|
||||
}
|
||||
return (float)Math.Abs(ret / 2);
|
||||
}
|
||||
}
|
||||
|
||||
public void push(SvgPoint svgPoint)
|
||||
{
|
||||
List<SvgPoint> points = new List<SvgPoint>();
|
||||
if (Points == null)
|
||||
{
|
||||
Points = new SvgPoint[] { };
|
||||
}
|
||||
points.AddRange(Points);
|
||||
points.Add(svgPoint);
|
||||
Points = points.ToArray();
|
||||
|
||||
}
|
||||
|
||||
public NFP slice(int v)
|
||||
{
|
||||
var ret = new NFP();
|
||||
List<SvgPoint> pp = new List<SvgPoint>();
|
||||
for (int i = v; i < length; i++)
|
||||
{
|
||||
pp.Add(new SvgPoint(this[i].x, this[i].y));
|
||||
|
||||
}
|
||||
ret.Points = pp.ToArray();
|
||||
return ret;
|
||||
}
|
||||
|
||||
public string stringify()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public static NFP Create(params SvgPoint[] points)
|
||||
{
|
||||
if (points == null || points.Length == 0)
|
||||
return new NFP();
|
||||
else
|
||||
return new NFP
|
||||
{
|
||||
Points = points
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,24 @@
|
|||
namespace DeepNestLib
|
||||
{
|
||||
public class NfpKey : IStringify
|
||||
{
|
||||
|
||||
public NFP A;
|
||||
public NFP B;
|
||||
public float ARotation { get; set; }
|
||||
public float BRotation { get; set; }
|
||||
public bool Inside { get; set; }
|
||||
|
||||
public int AIndex { get; set; }
|
||||
public int BIndex { get; set; }
|
||||
public object Asource;
|
||||
public object Bsource;
|
||||
|
||||
|
||||
public string stringify()
|
||||
{
|
||||
return $"A:{AIndex} B:{BIndex} inside:{Inside} Arotation:{ARotation} Brotation:{BRotation}";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace DeepNestLib
|
||||
{
|
||||
public class PlacementItem
|
||||
{
|
||||
public double? mergedLength;
|
||||
public object mergedSegments;
|
||||
public List<List<ClipperLib.IntPoint>> nfp;
|
||||
public int id;
|
||||
public NFP hull;
|
||||
public NFP hullsheet;
|
||||
|
||||
public float rotation;
|
||||
public double x;
|
||||
public double y;
|
||||
public int source;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,11 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace DeepNestLib
|
||||
{
|
||||
public enum PlacementTypeEnum
|
||||
{
|
||||
box, gravity, squeeze
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
namespace DeepNestLib
|
||||
{
|
||||
public class PolygonBounds
|
||||
{
|
||||
public double x;
|
||||
public double y;
|
||||
public double width;
|
||||
public double height;
|
||||
public PolygonBounds(double _x, double _y, double _w, double _h)
|
||||
{
|
||||
x = _x;
|
||||
y = _y;
|
||||
width = _w;
|
||||
height = _h;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace DeepNestLib
|
||||
{
|
||||
public class PopulationItem
|
||||
{
|
||||
public object processing = null;
|
||||
|
||||
public double? fitness;
|
||||
|
||||
public float[] Rotation;
|
||||
public List<NFP> placements;
|
||||
|
||||
public NFP[] paths;
|
||||
public double area;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
namespace DeepNestLib
|
||||
{
|
||||
public class RectangleSheet : Sheet
|
||||
{
|
||||
public void Rebuild()
|
||||
{
|
||||
Points = new SvgPoint[] { };
|
||||
AddPoint(new SvgPoint(x, y));
|
||||
AddPoint(new SvgPoint(x + Width, y));
|
||||
AddPoint(new SvgPoint(x + Width, y + Height));
|
||||
AddPoint(new SvgPoint(x, y + Height));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
namespace DeepNestLib
|
||||
{
|
||||
public class Sheet : NFP
|
||||
{
|
||||
public double Width;
|
||||
public double Height;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
using System.Collections.Generic;
|
||||
|
||||
namespace DeepNestLib
|
||||
{
|
||||
public class SheetPlacement
|
||||
{
|
||||
public double? fitness;
|
||||
|
||||
public float[] Rotation;
|
||||
public List<SheetPlacementItem>[] placements;
|
||||
|
||||
public NFP[] paths;
|
||||
public double area;
|
||||
public double mergedLength;
|
||||
public int index;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace DeepNestLib
|
||||
{
|
||||
public class SheetPlacementItem
|
||||
{
|
||||
public int sheetId;
|
||||
public int sheetSource;
|
||||
|
||||
public List<PlacementItem> sheetplacements = new List<PlacementItem>();
|
||||
public List<PlacementItem> placements = new List<PlacementItem>();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,143 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace DeepNestLib
|
||||
{
|
||||
public class Simplify
|
||||
{
|
||||
|
||||
// to suit your point format, run search/replace for '.x' and '.y';
|
||||
// for 3D version, see 3d branch (configurability would draw significant performance overhead)
|
||||
|
||||
// square distance between 2 points
|
||||
public static double getSqDist(SvgPoint p1, SvgPoint p2)
|
||||
{
|
||||
|
||||
var dx = p1.x - p2.x;
|
||||
var dy = p1.y - p2.y;
|
||||
|
||||
return dx * dx + dy * dy;
|
||||
}
|
||||
|
||||
// square distance from a point to a segment
|
||||
public static double getSqSegDist(SvgPoint p, SvgPoint p1, SvgPoint p2)
|
||||
{
|
||||
|
||||
var x = p1.x;
|
||||
var y = p1.y;
|
||||
var dx = p2.x - x;
|
||||
var dy = p2.y - y;
|
||||
|
||||
if (dx != 0 || dy != 0)
|
||||
{
|
||||
|
||||
var t = ((p.x - x) * dx + (p.y - y) * dy) / (dx * dx + dy * dy);
|
||||
|
||||
if (t > 1)
|
||||
{
|
||||
x = p2.x;
|
||||
y = p2.y;
|
||||
|
||||
}
|
||||
else if (t > 0)
|
||||
{
|
||||
x += dx * t;
|
||||
y += dy * t;
|
||||
}
|
||||
}
|
||||
|
||||
dx = p.x - x;
|
||||
dy = p.y - y;
|
||||
|
||||
return dx * dx + dy * dy;
|
||||
}
|
||||
// rest of the code doesn't care about point format
|
||||
|
||||
// basic distance-based simplification
|
||||
public static NFP simplifyRadialDist(NFP points, double? sqTolerance)
|
||||
{
|
||||
|
||||
var prevPoint = points[0];
|
||||
var newPoints = new NFP();
|
||||
newPoints.AddPoint(prevPoint);
|
||||
|
||||
SvgPoint point = null;
|
||||
int i = 1;
|
||||
for (var len = points.length; i < len; i++)
|
||||
{
|
||||
point = points[i];
|
||||
|
||||
if (point.marked || getSqDist(point, prevPoint) > sqTolerance)
|
||||
{
|
||||
newPoints.AddPoint(point);
|
||||
prevPoint = point;
|
||||
}
|
||||
}
|
||||
|
||||
if (prevPoint != point) newPoints.AddPoint(point);
|
||||
return newPoints;
|
||||
}
|
||||
|
||||
|
||||
public static void simplifyDPStep(NFP points, int first, int last, double? sqTolerance, NFP simplified)
|
||||
{
|
||||
var maxSqDist = sqTolerance;
|
||||
var index = -1;
|
||||
var marked = false;
|
||||
for (var i = first + 1; i < last; i++)
|
||||
{
|
||||
var sqDist = getSqSegDist(points[i], points[first], points[last]);
|
||||
|
||||
if (sqDist > maxSqDist)
|
||||
{
|
||||
index = i;
|
||||
maxSqDist = sqDist;
|
||||
}
|
||||
/*if(points[i].marked && maxSqDist <= sqTolerance){
|
||||
index = i;
|
||||
marked = true;
|
||||
}*/
|
||||
}
|
||||
|
||||
/*if(!points[index] && maxSqDist > sqTolerance){
|
||||
console.log('shit shit shit');
|
||||
}*/
|
||||
|
||||
if (maxSqDist > sqTolerance || marked)
|
||||
{
|
||||
if (index - first > 1) simplifyDPStep(points, first, index, sqTolerance, simplified);
|
||||
simplified.push(points[index]);
|
||||
if (last - index > 1) simplifyDPStep(points, index, last, sqTolerance, simplified);
|
||||
}
|
||||
}
|
||||
|
||||
// simplification using Ramer-Douglas-Peucker algorithm
|
||||
public static NFP simplifyDouglasPeucker(NFP points, double? sqTolerance)
|
||||
{
|
||||
var last = points.length - 1;
|
||||
|
||||
var simplified = new NFP();
|
||||
simplified.AddPoint(points[0]);
|
||||
simplifyDPStep(points, 0, last, sqTolerance, simplified);
|
||||
simplified.push(points[last]);
|
||||
|
||||
return simplified;
|
||||
}
|
||||
|
||||
// both algorithms combined for awesome performance
|
||||
public static NFP simplify(NFP points, double? tolerance, bool highestQuality)
|
||||
{
|
||||
|
||||
if (points.length <= 2) return points;
|
||||
|
||||
var sqTolerance = (tolerance != null) ? (tolerance * tolerance) : 1;
|
||||
|
||||
points = highestQuality ? points : simplifyRadialDist(points, sqTolerance);
|
||||
points = simplifyDouglasPeucker(points, sqTolerance);
|
||||
|
||||
return points;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
namespace DeepNestLib
|
||||
{
|
||||
public class SvgNestConfig
|
||||
{
|
||||
public PlacementTypeEnum placementType = PlacementTypeEnum.box;
|
||||
public double curveTolerance = 0.72;
|
||||
public double scale = 25;
|
||||
public double clipperScale = 10000000;
|
||||
public bool exploreConcave = false;
|
||||
public int mutationRate = 10;
|
||||
public int populationSize = 10;
|
||||
public int rotations = 4;
|
||||
public double spacing = 10;
|
||||
public double sheetSpacing = 0;
|
||||
public bool useHoles = false;
|
||||
public double timeRatio = 0.5;
|
||||
public bool mergeLines = false;
|
||||
public bool simplify;
|
||||
|
||||
#region port features (don't exist in the original DeepNest project)
|
||||
public bool clipByHull = false;
|
||||
public bool clipByRects = true; //clip by AABB + MinRect
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
namespace DeepNestLib
|
||||
{
|
||||
public class SvgPoint
|
||||
{
|
||||
public bool exact = true;
|
||||
public override string ToString()
|
||||
{
|
||||
return "x: " + x + "; y: " + y;
|
||||
}
|
||||
public int id;
|
||||
public SvgPoint(double _x, double _y)
|
||||
{
|
||||
x = _x;
|
||||
y = _y;
|
||||
}
|
||||
internal SvgPoint(SvgPoint point)
|
||||
{
|
||||
this.exact = point.exact;
|
||||
this.id = point.id;
|
||||
this.marked = point.marked;
|
||||
this.x = point.x;
|
||||
this.y = point.y;
|
||||
}
|
||||
public bool marked;
|
||||
public double x;
|
||||
public double y;
|
||||
public SvgPoint Clone()
|
||||
{
|
||||
return new SvgPoint(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DeepNestLib
|
||||
{
|
||||
public class _Clipper
|
||||
{
|
||||
public static ClipperLib.IntPoint[] ScaleUpPaths(SvgPoint[] points, double scale = 1)
|
||||
{
|
||||
var result = new ClipperLib.IntPoint[points.Length];
|
||||
|
||||
Parallel.For(0, points.Length, i => result[i] = new ClipperLib.IntPoint((long)Math.Round((decimal)points[i].x * (decimal)scale), (long)Math.Round((decimal)points[i].y * (decimal)scale)));
|
||||
|
||||
return result.ToArray();
|
||||
} // 2 secs
|
||||
public static ClipperLib.IntPoint[] ScaleUpPaths(NFP p, double scale = 1)
|
||||
{
|
||||
List<ClipperLib.IntPoint> ret = new List<ClipperLib.IntPoint>();
|
||||
|
||||
for (int i = 0; i < p.Points.Count(); i++)
|
||||
{
|
||||
//p.Points[i] = new SvgNestPort.SvgPoint((float)Math.Round(p.Points[i].x * scale), (float)Math.Round(p.Points[i].y * scale));
|
||||
ret.Add(new ClipperLib.IntPoint(
|
||||
(long)Math.Round((decimal)p.Points[i].x * (decimal)scale),
|
||||
(long)Math.Round((decimal)p.Points[i].y * (decimal)scale)
|
||||
));
|
||||
|
||||
}
|
||||
return ret.ToArray();
|
||||
}
|
||||
/*public static IntPoint[] ScaleUpPath(IntPoint[] p, double scale = 1)
|
||||
{
|
||||
for (int i = 0; i < p.Length; i++)
|
||||
{
|
||||
|
||||
//p[i] = new IntPoint(p[i].X * scale, p[i].Y * scale);
|
||||
p[i] = new IntPoint(
|
||||
(long)Math.Round((decimal)p[i].X * (decimal)scale),
|
||||
(long)Math.Round((decimal)p[i].Y * (decimal)scale));
|
||||
}
|
||||
return p.ToArray();
|
||||
}
|
||||
public static void ScaleUpPaths(List<List<IntPoint>> p, double scale = 1)
|
||||
{
|
||||
for (int i = 0; i < p.Count; i++)
|
||||
{
|
||||
for (int j = 0; j < p[i].Count; j++)
|
||||
{
|
||||
p[i][j] = new IntPoint(p[i][j].X * scale, p[i][j].Y * scale);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}*/
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
namespace Http.Core.Constants
|
||||
{
|
||||
public static class HttpConstants
|
||||
{
|
||||
public static class ClientNames
|
||||
{
|
||||
public const string AuthClient = "LoginClient";
|
||||
public const string ApiClient = "ApiClient";
|
||||
}
|
||||
|
||||
public static class Auth
|
||||
{
|
||||
public const string BaseUrl = "http://14.225.255.245:3003";
|
||||
|
||||
public const string Login = "api/auth/login";
|
||||
public const string Refresh = "api/auth/refresh";
|
||||
|
||||
}
|
||||
|
||||
public static class Api
|
||||
{
|
||||
public const string BaseUrl = "http://14.225.255.245:3003";
|
||||
|
||||
public const string LogOut = "api/auth/logout";
|
||||
public const string Profile = "api/auth/profile";
|
||||
|
||||
public const string Users = "api/users";
|
||||
public const string UserById = "api/users/{0}";
|
||||
public const string UserUnlockDevice = "api/users/{0}/device/unlock";
|
||||
|
||||
public const string Categories = "api/categories";
|
||||
public const string CategoryById = "api/categories/{0}";
|
||||
|
||||
public const string Upload = "api/files/upload";
|
||||
public const string Download = "api/files/{0}";
|
||||
|
||||
public const string CdrFiles = "api/cdr-files";
|
||||
public const string CdrFileById = "api/cdr-files/{0}";
|
||||
|
||||
public const string Metadata = "api/metadata";
|
||||
public const string MetadataById = "api/metadata/{0}";
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,75 @@
|
|||
using Microsoft.IdentityModel.JsonWebTokens;
|
||||
using PCUT.Entities;
|
||||
using System;
|
||||
|
||||
namespace Http.Core.Contexts
|
||||
{
|
||||
public class UserContext : IDisposable
|
||||
{
|
||||
private UserContext() { }
|
||||
private static readonly object _instanceLock = new object();
|
||||
private static UserContext _instance;
|
||||
public static UserContext Instance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
lock (_instanceLock)
|
||||
{
|
||||
if (_instance == null)
|
||||
_instance = new UserContext();
|
||||
}
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
|
||||
public UserProfile Profile { get; private set; }
|
||||
public string AccessToken { get; private set; }
|
||||
public string RefreshToken { get; private set; }
|
||||
public string DeviceId { get; private set; }
|
||||
public DateTime? ExpiredTime { get; private set; }
|
||||
|
||||
public bool IsPermittedEdit => Profile.Role == "admin" || (Profile.IsPermittedEdit ?? false);
|
||||
|
||||
public void SetDeviceId(string deviceId)
|
||||
{
|
||||
if (DeviceId == null)
|
||||
{
|
||||
DeviceId = deviceId;
|
||||
}
|
||||
}
|
||||
|
||||
private readonly object _updateLock = new object();
|
||||
internal void SetValue(string accessToken, string refreshToken, string userName = null)
|
||||
{
|
||||
lock(_updateLock)
|
||||
{
|
||||
AccessToken = accessToken;
|
||||
RefreshToken = refreshToken;
|
||||
try
|
||||
{
|
||||
var token = new JsonWebToken(AccessToken);
|
||||
ExpiredTime = token.ValidTo != DateTime.MinValue ? token.ValidTo : (DateTime?)null;
|
||||
}
|
||||
catch { }
|
||||
}
|
||||
}
|
||||
|
||||
internal void SetProfile(UserProfile profile)
|
||||
{
|
||||
Profile = profile;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
AccessToken = null;
|
||||
RefreshToken = null;
|
||||
DeviceId = null;
|
||||
ExpiredTime = null;
|
||||
Profile = null;
|
||||
_instance = null;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,37 @@
|
|||
using Http.Core.Contexts;
|
||||
using PCUT.Entities;
|
||||
using PCUT.Entities.ApiResponse;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using static Http.Core.Constants.HttpConstants;
|
||||
|
||||
namespace Http.Core.Extensions
|
||||
{
|
||||
public static class CategoryExtensions
|
||||
{
|
||||
public static async Task<IEnumerable<Category>> GetCategoriesAsync(this HttpClient client, bool filterByRole = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
var response = await client.GetAsync(Api.Categories);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
var apiResponse = await response.DeserializeObjectAsync<PaginationResponse<IEnumerable<Category>>>();
|
||||
var permittedCategories = apiResponse.Data;
|
||||
if (filterByRole && UserContext.Instance?.Profile?.Role != "admin")
|
||||
permittedCategories = permittedCategories.Where(x => UserContext.Instance.Profile.Permissions.Contains(x.Id));
|
||||
|
||||
return permittedCategories;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
return Enumerable.Empty<Category>();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,179 @@
|
|||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.IO;
|
||||
using Http.Core.Contexts;
|
||||
using Http.Core.Models;
|
||||
using static Http.Core.Constants.HttpConstants;
|
||||
using Newtonsoft.Json;
|
||||
using Newtonsoft.Json.Serialization;
|
||||
using PCUT.Entities.ApiResponse;
|
||||
using PCUT.Entities;
|
||||
|
||||
namespace Http.Core.Extensions
|
||||
{
|
||||
public static class HttpExtensions
|
||||
{
|
||||
public static readonly JsonSerializerSettings JsonSerializerSettings = new JsonSerializerSettings
|
||||
{
|
||||
ContractResolver = new CamelCasePropertyNamesContractResolver()
|
||||
};
|
||||
|
||||
public static readonly JsonSerializerSettings IgnoreNullJsonSerializerSettings = new JsonSerializerSettings
|
||||
{
|
||||
ContractResolver = new CamelCasePropertyNamesContractResolver(),
|
||||
NullValueHandling = NullValueHandling.Ignore
|
||||
};
|
||||
|
||||
public static readonly JsonSerializer DefaultSerializer = JsonSerializer.Create(JsonSerializerSettings);
|
||||
|
||||
public static string FormatRoute(this string path, params object[] routeParams)
|
||||
{
|
||||
if (string.IsNullOrEmpty(path))
|
||||
return null;
|
||||
return string.Format(path, routeParams);
|
||||
}
|
||||
|
||||
public static Task<HttpResponseMessage> PostAsJsonAsync(this HttpClient client, string requestUri, object content = null, bool ignoreNull = false)
|
||||
{
|
||||
var jsonContent = content != null ? JsonConvert.SerializeObject(content, ignoreNull ? IgnoreNullJsonSerializerSettings : JsonSerializerSettings) : null;
|
||||
var httpContent = jsonContent != null ? new StringContent(jsonContent, Encoding.UTF8, "application/json") : null;
|
||||
return client.PostAsync(requestUri, httpContent);
|
||||
}
|
||||
|
||||
public static Task<HttpResponseMessage> PutAsJsonAsync(this HttpClient client, string requestUri, object content = null, bool ignoreNull = false)
|
||||
{
|
||||
var jsonContent = content != null ? JsonConvert.SerializeObject(content, ignoreNull ? IgnoreNullJsonSerializerSettings : JsonSerializerSettings) : null;
|
||||
var httpContent = jsonContent != null ? new StringContent(jsonContent, Encoding.UTF8, "application/json") : null;
|
||||
return client.PutAsync(requestUri, httpContent);
|
||||
}
|
||||
|
||||
public static Task<HttpResponseMessage> UploadAsync(this HttpClient client, string requestUri, Stream stream, string name, string filename)
|
||||
{
|
||||
var streamContent = new StreamContent(stream);
|
||||
var httpContent = new MultipartFormDataContent
|
||||
{
|
||||
{ streamContent, name, filename }
|
||||
};
|
||||
return client.PostAsync(requestUri, httpContent);
|
||||
}
|
||||
|
||||
public static async Task<bool> DownloadAsync(this HttpClient client, string requestUri, Stream outputStream)
|
||||
{
|
||||
HttpResponseMessage response = null;
|
||||
var isSuccess = true;
|
||||
try
|
||||
{
|
||||
response = await client.GetAsync(requestUri, HttpCompletionOption.ResponseHeadersRead);
|
||||
response.EnsureSuccessStatusCode();
|
||||
await response.Content.CopyToAsync(outputStream);
|
||||
}
|
||||
catch
|
||||
{
|
||||
isSuccess = false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
response?.Dispose();
|
||||
}
|
||||
return isSuccess;
|
||||
}
|
||||
|
||||
public static async Task<LoginResult> LoginAsync(this HttpClient client, LoginRequest loginRequest, string username)
|
||||
{
|
||||
var response = await client.PostAsJsonAsync(Auth.Login, loginRequest);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
var userCredential = await response.DeserializeObjectAsync<UserCredentialDto>();
|
||||
UserContext.Instance.SetValue(userCredential.AccessToken, userCredential.RefreshToken, username);
|
||||
return new LoginResult { Success = true };
|
||||
}
|
||||
else
|
||||
{
|
||||
var responseContent = await response.DeserializeObjectAsync<MessageResponse>(ensureSuccess: false);
|
||||
return new LoginResult { Success = false, Message = responseContent.ErrorMessage };
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task<bool> LogOutAsync(this HttpClient client)
|
||||
{
|
||||
var response = await client.PostAsync(Api.LogOut, null);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static async Task<bool> RefreshTokenAsync(this HttpClient client)
|
||||
{
|
||||
var response = await client.PostAsJsonAsync(Auth.Refresh, new RefreshTokenRequest());
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
var userCredential = await response.DeserializeObjectAsync<UserCredentialDto>();
|
||||
UserContext.Instance.SetValue(userCredential.AccessToken, userCredential.RefreshToken, userCredential.Username);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public static async Task LoadUserProfileAsync(this HttpClient client)
|
||||
{
|
||||
var response = await client.GetAsync(Api.Profile);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
var content = await response.DeserializeObjectAsync<DataResponse<UserProfile>>();
|
||||
UserContext.Instance.SetProfile(content.Data);
|
||||
}
|
||||
}
|
||||
|
||||
public static async Task<T> DeserializeObjectAsync<T>(this HttpResponseMessage response, bool ensureSuccess = true)
|
||||
{
|
||||
if (ensureSuccess)
|
||||
response.EnsureSuccessStatusCode();
|
||||
|
||||
if (response.StatusCode == System.Net.HttpStatusCode.NoContent)
|
||||
return default;
|
||||
|
||||
var content = response.Content;
|
||||
if (content.Headers.ContentLength <= 0 || !content.Headers.ContentType.MediaType.Contains("application/json"))
|
||||
return default;
|
||||
|
||||
var contentStream = await response.Content.ReadAsStreamAsync();
|
||||
using (var reader = new StreamReader(contentStream))
|
||||
using (var jsonReader = new JsonTextReader(reader))
|
||||
{
|
||||
return DefaultSerializer.Deserialize<T>(jsonReader);
|
||||
}
|
||||
}
|
||||
|
||||
public static StringBuilder AppendFilter(this StringBuilder builder, string key, string op, string value)
|
||||
{
|
||||
if (builder.Length > 0)
|
||||
builder.Append(',');
|
||||
return builder.Append('\"')
|
||||
.Append(key).Append(':')
|
||||
.Append(op).Append(':')
|
||||
.Append(value)
|
||||
.Append('\"');
|
||||
}
|
||||
|
||||
public static StringBuilder AppendFilter(this StringBuilder builder, string key, string value)
|
||||
{
|
||||
return builder.AppendFilter(key, "eq", value);
|
||||
}
|
||||
|
||||
public static StringBuilder BuildFilter(this StringBuilder builder)
|
||||
{
|
||||
return builder.Insert(0, '[').Append(']');
|
||||
}
|
||||
|
||||
public class LoginResult
|
||||
{
|
||||
public bool Success { get; set; }
|
||||
|
||||
[JsonProperty("message")]
|
||||
public string Message { get; set; } = string.Empty;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,68 @@
|
|||
using Http.Core.Constants;
|
||||
using Http.Core.Contexts;
|
||||
using Http.Core.Extensions;
|
||||
using Http.Core.Models;
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Http.Core.Handlers
|
||||
{
|
||||
public class AuthenticationHandler : DelegatingHandler
|
||||
{
|
||||
public static readonly TimeSpan _requiredRefreshTime = TimeSpan.FromMinutes(5);
|
||||
|
||||
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
|
||||
{
|
||||
var shouldContinue = await AppendTokenAsync(request);
|
||||
if (!shouldContinue)
|
||||
return new HttpResponseMessage(System.Net.HttpStatusCode.Unauthorized);
|
||||
return await base.SendAsync(request, cancellationToken);
|
||||
}
|
||||
|
||||
private static readonly SemaphoreSlim _refreshSemaphore = new SemaphoreSlim(1, 1);
|
||||
private async Task<bool> AppendTokenAsync(HttpRequestMessage request)
|
||||
{
|
||||
if (request.Headers.Authorization == null)
|
||||
{
|
||||
if (UserContext.Instance.AccessToken == null)
|
||||
return false;
|
||||
|
||||
var expiredTime = UserContext.Instance.ExpiredTime;
|
||||
if (expiredTime != null || expiredTime - DateTime.UtcNow < _requiredRefreshTime)
|
||||
{
|
||||
await _refreshSemaphore.WaitAsync();
|
||||
bool refreshSuccess;
|
||||
{
|
||||
expiredTime = UserContext.Instance.ExpiredTime;
|
||||
if (expiredTime != null || expiredTime - DateTime.UtcNow < _requiredRefreshTime)
|
||||
refreshSuccess = await RefreshTokenAsync();
|
||||
else
|
||||
refreshSuccess = true; // Some other thread already refreshed token
|
||||
}
|
||||
_refreshSemaphore.Release();
|
||||
if (!refreshSuccess)
|
||||
return false;
|
||||
}
|
||||
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", UserContext.Instance.AccessToken);
|
||||
return true;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private async Task<bool> RefreshTokenAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
using (var client = HttpClientFactory.CreateClient(HttpConstants.ClientNames.AuthClient))
|
||||
{
|
||||
return await client.RefreshTokenAsync();
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
using Http.Core.Contexts;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Http.Core.Handlers
|
||||
{
|
||||
public class DeviceAuthHandler : DelegatingHandler
|
||||
{
|
||||
protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
|
||||
{
|
||||
request.Headers.Add("x-device-id", $"{UserContext.Instance.DeviceId}");
|
||||
return base.SendAsync(request, cancellationToken);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>netstandard2.0</TargetFramework>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" Version="7.3.1" />
|
||||
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\PCUT.Entities\PCUT.Entities.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
|
@ -0,0 +1,132 @@
|
|||
using System;
|
||||
using System.Collections.Concurrent;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Net.Http;
|
||||
|
||||
namespace Http.Core
|
||||
{
|
||||
public class HttpClientFactory : IDisposable
|
||||
{
|
||||
private HttpClientFactory() { }
|
||||
private static readonly object _instanceLock = new object();
|
||||
private static HttpClientFactory _instance;
|
||||
public static HttpClientFactory Instance
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_instance == null)
|
||||
{
|
||||
lock (_instanceLock)
|
||||
{
|
||||
if (_instance == null)
|
||||
_instance = new HttpClientFactory();
|
||||
}
|
||||
}
|
||||
return _instance;
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
foreach (var config in _configs)
|
||||
{
|
||||
config.Value.Dispose();
|
||||
}
|
||||
_configs.Clear();
|
||||
}
|
||||
|
||||
private readonly ConcurrentDictionary<string, HttpClientConfig> _configs = new ConcurrentDictionary<string, HttpClientConfig>();
|
||||
|
||||
public delegate void ConfigureBuilder(HttpClientBuilder builder);
|
||||
public static HttpClientBuilder AddHttpClient(string name)
|
||||
{
|
||||
var builder = new HttpClientBuilder();
|
||||
_ = Instance._configs.TryAdd(name, builder.Config);
|
||||
return builder;
|
||||
}
|
||||
|
||||
public static HttpClient CreateClient(string name)
|
||||
{
|
||||
if (!Instance._configs.ContainsKey(name))
|
||||
_ = Instance._configs.TryAdd(name, new HttpClientConfig());
|
||||
var config = Instance._configs[name];
|
||||
|
||||
var client = new HttpClient(config.Handler, false);
|
||||
config.ConfigureClient?.Invoke(client);
|
||||
return client;
|
||||
}
|
||||
|
||||
public delegate void ConfigureClient(HttpClient client);
|
||||
public delegate DelegatingHandler HandlerFactory();
|
||||
public class HttpClientBuilder
|
||||
{
|
||||
internal HttpClientConfig Config { get; } = new HttpClientConfig();
|
||||
|
||||
public HttpClientBuilder AddConfigureClient(ConfigureClient configureClient)
|
||||
{
|
||||
Config.ConfigureClient += configureClient;
|
||||
return this;
|
||||
}
|
||||
|
||||
public HttpClientBuilder AddHttpMessageHandler(HandlerFactory configureHandler)
|
||||
{
|
||||
Config.HandlerFactories.Add(configureHandler);
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
internal class HttpClientConfig : IDisposable
|
||||
{
|
||||
internal ConfigureClient ConfigureClient { get; set; }
|
||||
internal ICollection<HandlerFactory> HandlerFactories { get; private set; }
|
||||
|
||||
internal HttpClientConfig()
|
||||
{
|
||||
HandlerFactories = new List<HandlerFactory>();
|
||||
}
|
||||
|
||||
private readonly object _handlerLock = new object();
|
||||
private HttpMessageHandler _handler;
|
||||
internal HttpMessageHandler Handler
|
||||
{
|
||||
get
|
||||
{
|
||||
if (_handler == null)
|
||||
{
|
||||
lock (_handlerLock)
|
||||
{
|
||||
if (_handler == null)
|
||||
_handler = BuildHandler();
|
||||
}
|
||||
}
|
||||
return _handler;
|
||||
}
|
||||
}
|
||||
|
||||
private HttpMessageHandler BuildHandler()
|
||||
{
|
||||
if (HandlerFactories == null || !HandlerFactories.Any())
|
||||
return new HttpClientHandler();
|
||||
|
||||
DelegatingHandler handler, intermediate;
|
||||
handler = intermediate = HandlerFactories.First().Invoke();
|
||||
foreach (var handlerFactory in HandlerFactories.Skip(1))
|
||||
{
|
||||
intermediate.InnerHandler = handlerFactory();
|
||||
intermediate = intermediate.InnerHandler as DelegatingHandler;
|
||||
}
|
||||
intermediate.InnerHandler = new HttpClientHandler();
|
||||
return handler;
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
ConfigureClient = null;
|
||||
HandlerFactories?.Clear();
|
||||
HandlerFactories = null;
|
||||
_handler?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
namespace Http.Core.Models
|
||||
{
|
||||
public class LoginRequest
|
||||
{
|
||||
public string Username { get; set; }
|
||||
public string Password { get; set; }
|
||||
|
||||
public LoginRequest(string username, string password)
|
||||
{
|
||||
Username = username;
|
||||
Password = password;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
using Http.Core.Contexts;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Http.Core.Models
|
||||
{
|
||||
internal class RefreshTokenRequest
|
||||
{
|
||||
[JsonProperty("refresh_token")]
|
||||
public string RefreshToken => UserContext.Instance.RefreshToken;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,94 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Http.Core
|
||||
{
|
||||
public class PathBuilder
|
||||
{
|
||||
private readonly string _uriTemplate;
|
||||
private readonly List<string> _routeParams;
|
||||
|
||||
private PathBuilder(string uriTemplate)
|
||||
{
|
||||
_uriTemplate = uriTemplate;
|
||||
_routeParams = new List<string>();
|
||||
}
|
||||
|
||||
public static PathBuilder FromRouteTemplate(string urlTemplate)
|
||||
{
|
||||
return new PathBuilder(urlTemplate);
|
||||
}
|
||||
|
||||
public PathBuilder AddRouteParams(params string[] routeParams)
|
||||
{
|
||||
_routeParams.AddRange(routeParams);
|
||||
return this;
|
||||
}
|
||||
|
||||
public QueryBuilder ToQuery()
|
||||
{
|
||||
return new QueryBuilder(_uriTemplate, _routeParams);
|
||||
}
|
||||
|
||||
public QueryBuilder AddQuery(string key, string value)
|
||||
{
|
||||
return ToQuery().AddQuery(key, value);
|
||||
}
|
||||
|
||||
public string Build()
|
||||
{
|
||||
if (!_routeParams.Any())
|
||||
return _uriTemplate;
|
||||
|
||||
return new StringBuilder()
|
||||
.AppendFormat(_uriTemplate, _routeParams.ToArray())
|
||||
.ToString();
|
||||
}
|
||||
|
||||
public class QueryBuilder
|
||||
{
|
||||
private readonly string _uriTemplate;
|
||||
private readonly List<string> _routeParams;
|
||||
private readonly IDictionary<string, string> _queryParams;
|
||||
|
||||
internal QueryBuilder(string uriTemplate, List<string> routeParams)
|
||||
{
|
||||
_uriTemplate = uriTemplate;
|
||||
_routeParams = routeParams;
|
||||
_queryParams = new Dictionary<string, string>();
|
||||
}
|
||||
|
||||
public QueryBuilder AddQuery(string key, string value)
|
||||
{
|
||||
_queryParams[key] = Uri.EscapeDataString(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public string Build()
|
||||
{
|
||||
var builder = new StringBuilder();
|
||||
|
||||
if (_routeParams.Any())
|
||||
builder.AppendFormat(_uriTemplate, _routeParams.ToArray());
|
||||
else
|
||||
builder.Append(_uriTemplate);
|
||||
|
||||
if (_queryParams.Any())
|
||||
{
|
||||
builder.Append("?");
|
||||
foreach (var keyValuePair in _queryParams)
|
||||
{
|
||||
builder.Append(keyValuePair.Key)
|
||||
.Append('=')
|
||||
.Append(keyValuePair.Value)
|
||||
.Append('&');
|
||||
}
|
||||
builder.Remove(builder.Length - 1, 1); // remove last & character
|
||||
}
|
||||
return builder.ToString();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,337 @@
|
|||
#include "pch.h"
|
||||
#include "Minkowski.h"
|
||||
#include <boost/polygon/polygon.hpp>
|
||||
|
||||
#undef min
|
||||
#undef max
|
||||
|
||||
typedef boost::polygon::point_data<int> point;
|
||||
typedef boost::polygon::polygon_set_data<int> polygon_set;
|
||||
typedef boost::polygon::polygon_with_holes_data<int> polygon;
|
||||
typedef std::pair<point, point> edge;
|
||||
|
||||
using namespace MinkowskiCpp;
|
||||
using namespace Platform;
|
||||
using namespace boost::polygon::operators;
|
||||
using namespace std;
|
||||
|
||||
Minkowski::Minkowski()
|
||||
{
|
||||
}
|
||||
|
||||
void convolve_two_segments(std::vector<point>& figure, const edge& a, const edge& b) {
|
||||
using namespace boost::polygon;
|
||||
figure.clear();
|
||||
figure.push_back(point(a.first));
|
||||
figure.push_back(point(a.first));
|
||||
figure.push_back(point(a.second));
|
||||
figure.push_back(point(a.second));
|
||||
convolve(figure[0], b.second);
|
||||
convolve(figure[1], b.first);
|
||||
convolve(figure[2], b.first);
|
||||
convolve(figure[3], b.second);
|
||||
}
|
||||
|
||||
template <typename itrT1, typename itrT2>
|
||||
void convolve_two_point_sequences(polygon_set& result, itrT1 ab, itrT1 ae, itrT2 bb, itrT2 be) {
|
||||
using namespace boost::polygon;
|
||||
if (ab == ae || bb == be)
|
||||
return;
|
||||
point first_a = *ab;
|
||||
point prev_a = *ab;
|
||||
std::vector<point> vec;
|
||||
polygon poly;
|
||||
++ab;
|
||||
for (; ab != ae; ++ab) {
|
||||
point first_b = *bb;
|
||||
point prev_b = *bb;
|
||||
itrT2 tmpb = bb;
|
||||
++tmpb;
|
||||
for (; tmpb != be; ++tmpb) {
|
||||
convolve_two_segments(vec, std::make_pair(prev_b, *tmpb), std::make_pair(prev_a, *ab));
|
||||
set_points(poly, vec.begin(), vec.end());
|
||||
result.insert(poly);
|
||||
prev_b = *tmpb;
|
||||
}
|
||||
prev_a = *ab;
|
||||
}
|
||||
}
|
||||
|
||||
template <typename itrT>
|
||||
void convolve_point_sequence_with_polygons(polygon_set& result, itrT b, itrT e, const std::vector<polygon>& polygons) {
|
||||
using namespace boost::polygon;
|
||||
for (std::size_t i = 0; i < polygons.size(); ++i) {
|
||||
convolve_two_point_sequences(result, b, e, begin_points(polygons[i]), end_points(polygons[i]));
|
||||
for (polygon_with_holes_traits<polygon>::iterator_holes_type itrh = begin_holes(polygons[i]);
|
||||
itrh != end_holes(polygons[i]); ++itrh) {
|
||||
convolve_two_point_sequences(result, b, e, begin_points(*itrh), end_points(*itrh));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void convolve_two_polygon_sets(polygon_set& result, const polygon_set& a, const polygon_set& b) {
|
||||
using namespace boost::polygon;
|
||||
result.clear();
|
||||
std::vector<polygon> a_polygons;
|
||||
std::vector<polygon> b_polygons;
|
||||
a.get(a_polygons);
|
||||
b.get(b_polygons);
|
||||
for (std::size_t ai = 0; ai < a_polygons.size(); ++ai) {
|
||||
convolve_point_sequence_with_polygons(result, begin_points(a_polygons[ai]),
|
||||
end_points(a_polygons[ai]), b_polygons);
|
||||
for (polygon_with_holes_traits<polygon>::iterator_holes_type itrh = begin_holes(a_polygons[ai]);
|
||||
itrh != end_holes(a_polygons[ai]); ++itrh) {
|
||||
convolve_point_sequence_with_polygons(result, begin_points(*itrh),
|
||||
end_points(*itrh), b_polygons);
|
||||
}
|
||||
for (std::size_t bi = 0; bi < b_polygons.size(); ++bi) {
|
||||
polygon tmp_poly = a_polygons[ai];
|
||||
result.insert(convolve(tmp_poly, *(begin_points(b_polygons[bi]))));
|
||||
tmp_poly = b_polygons[bi];
|
||||
result.insert(convolve(tmp_poly, *(begin_points(a_polygons[ai]))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
double inputscale;
|
||||
|
||||
using namespace boost::polygon;
|
||||
|
||||
vector<double> Avec;
|
||||
vector<double> Bvec;
|
||||
vector<vector<double>> chlds;
|
||||
vector<vector<double>> retpnts;
|
||||
vector<vector<double>> retholes;
|
||||
|
||||
|
||||
void MinkowskiCpp::Minkowski::getResults(Platform::WriteOnlyArray<double>^ data, Platform::WriteOnlyArray<double>^ holesData)
|
||||
{
|
||||
int index = 0;
|
||||
for (int i = 0; i < retpnts.size(); i++) {
|
||||
for (int j = 0; j < retpnts[i].size(); j++) {
|
||||
data[index] = retpnts[i][j];
|
||||
index++;
|
||||
}
|
||||
}
|
||||
|
||||
index = 0;
|
||||
for (int i = 0; i < retholes.size(); i++) {
|
||||
for (int j = 0; j < retholes[i].size(); j++) {
|
||||
holesData[index] = retholes[i][j];
|
||||
index++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void MinkowskiCpp::Minkowski::getSizes1(Platform::WriteOnlyArray<int>^ sizes)
|
||||
{
|
||||
sizes[0] = retpnts.size();
|
||||
sizes[1] = retholes.size();
|
||||
}
|
||||
|
||||
void MinkowskiCpp::Minkowski::getSizes2(Platform::WriteOnlyArray<int>^ sizes1, Platform::WriteOnlyArray<int>^ sizes2)
|
||||
{
|
||||
for (int i = 0; i < retpnts.size(); i++) {
|
||||
sizes1[i] = retpnts[i].size();
|
||||
}
|
||||
for (int i = 0; i < retholes.size(); i++) {
|
||||
sizes2[i] = retholes[i].size();
|
||||
}
|
||||
}
|
||||
|
||||
void MinkowskiCpp::Minkowski::setData(int cntA,
|
||||
const Platform::Array<double>^ pntsA,
|
||||
int holesCnt,
|
||||
const Platform::Array<int>^ holesSizes,
|
||||
const Platform::Array<double>^ holesPoints,
|
||||
int cntB,
|
||||
const Platform::Array<double>^ pntsB)
|
||||
{
|
||||
Avec.clear();
|
||||
Bvec.clear();
|
||||
chlds.clear();
|
||||
|
||||
retpnts.clear();
|
||||
retholes.clear();
|
||||
|
||||
for (int i = 0; i < cntA; i++) {
|
||||
Avec.push_back(pntsA[i]);
|
||||
}
|
||||
for (int i = 0; i < cntB; i++) {
|
||||
Bvec.push_back(pntsB[i]);
|
||||
}
|
||||
|
||||
int index = 0;
|
||||
for (int i = 0; i < holesCnt; i++) {
|
||||
chlds.push_back(vector<double>());
|
||||
for (int j = 0; j < holesSizes[i]; j++) {
|
||||
chlds.back().push_back(holesPoints[index]);
|
||||
index++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void MinkowskiCpp::Minkowski::calculateNFP()
|
||||
{
|
||||
|
||||
polygon_set a, b, c;
|
||||
std::vector<polygon> polys;
|
||||
std::vector<point> pts;
|
||||
|
||||
|
||||
|
||||
// get maximum bounds for scaling factor
|
||||
unsigned int len = Avec.size() / 2;
|
||||
double Amaxx = 0;
|
||||
double Aminx = 0;
|
||||
double Amaxy = 0;
|
||||
double Aminy = 0;
|
||||
for (unsigned int i = 0; i < len; i++) {
|
||||
double x1 = Avec[i * 2];
|
||||
double y1 = Avec[i * 2 + 1];
|
||||
Amaxx = (std::max)(Amaxx, (double)x1);
|
||||
Aminx = (std::min)(Aminx, (double)x1);
|
||||
Amaxy = (std::max)(Amaxy, (double)y1);
|
||||
Aminy = (std::min)(Aminy, (double)y1);
|
||||
}
|
||||
|
||||
len = Bvec.size() / 2;
|
||||
double Bmaxx = 0;
|
||||
double Bminx = 0;
|
||||
double Bmaxy = 0;
|
||||
double Bminy = 0;
|
||||
for (unsigned int i = 0; i < len * 2; i += 2) {
|
||||
double x1 = Bvec[i];
|
||||
double y1 = Bvec[i + 1];
|
||||
Bmaxx = (std::max)(Bmaxx, (double)x1);
|
||||
Bminx = (std::min)(Bminx, (double)x1);
|
||||
Bmaxy = (std::max)(Bmaxy, (double)y1);
|
||||
Bminy = (std::min)(Bminy, (double)y1);
|
||||
}
|
||||
|
||||
double Cmaxx = Amaxx + Bmaxx;
|
||||
double Cminx = Aminx + Bminx;
|
||||
double Cmaxy = Amaxy + Bmaxy;
|
||||
double Cminy = Aminy + Bminy;
|
||||
|
||||
double maxxAbs = (std::max)(Cmaxx, std::fabs(Cminx));
|
||||
double maxyAbs = (std::max)(Cmaxy, std::fabs(Cminy));
|
||||
|
||||
double maxda = (std::max)(maxxAbs, maxyAbs);
|
||||
int maxi = std::numeric_limits<int>::max();
|
||||
|
||||
if (maxda < 1) {
|
||||
maxda = 1;
|
||||
}
|
||||
|
||||
// why 0.1? dunno. it doesn't screw up with 0.1
|
||||
inputscale = (0.1f * (double)(maxi)) / maxda;
|
||||
|
||||
//double scale = 1000;
|
||||
len = Avec.size() / 2;
|
||||
|
||||
for (unsigned int i = 0; i < len; i++) {
|
||||
double x1 = Avec[i * 2];
|
||||
double y1 = Avec[i * 2 + 1];
|
||||
int x = (int)(inputscale * (double)x1);
|
||||
int y = (int)(inputscale * (double)y1);
|
||||
|
||||
pts.push_back(point(x, y));
|
||||
}
|
||||
|
||||
polygon poly;
|
||||
boost::polygon::set_points(poly, pts.begin(), pts.end());
|
||||
a += poly;
|
||||
|
||||
// subtract holes from a here...
|
||||
|
||||
len = chlds.size();
|
||||
|
||||
for (unsigned int i = 0; i < len; i++) {
|
||||
vector<double> hole = chlds[i];
|
||||
pts.clear();
|
||||
unsigned int hlen = hole.size() / 2;
|
||||
for (unsigned int j = 0; j < hlen; j++) {
|
||||
double x1 = hole[j * 2];
|
||||
double y1 = hole[j * 2 + 1];
|
||||
int x = (int)(inputscale * (double)x1);
|
||||
int y = (int)(inputscale * (double)y1);
|
||||
pts.push_back(point(x, y));
|
||||
}
|
||||
boost::polygon::set_points(poly, pts.begin(), pts.end());
|
||||
a -= poly;
|
||||
}
|
||||
|
||||
//and then load points B
|
||||
pts.clear();
|
||||
len = Bvec.size() / 2;
|
||||
|
||||
//javascript nfps are referenced with respect to the first point
|
||||
double xshift = 0;
|
||||
double yshift = 0;
|
||||
|
||||
for (unsigned int i = 0; i < len; i++) {
|
||||
double x1 = Bvec[i * 2];
|
||||
double y1 = Bvec[i * 2 + 1];
|
||||
|
||||
int x = -(int)(inputscale * (double)x1);
|
||||
int y = -(int)(inputscale * (double)y1);
|
||||
pts.push_back(point(x, y));
|
||||
|
||||
if (i == 0) {
|
||||
xshift = (double)x1;
|
||||
yshift = (double)y1;
|
||||
}
|
||||
}
|
||||
|
||||
boost::polygon::set_points(poly, pts.begin(), pts.end());
|
||||
b += poly;
|
||||
|
||||
polys.clear();
|
||||
|
||||
convolve_two_polygon_sets(c, a, b);
|
||||
c.get(polys);
|
||||
|
||||
for (unsigned int i = 0; i < polys.size(); ++i) {
|
||||
|
||||
vector<double> pointlist = vector<double>();
|
||||
|
||||
int j = 0;
|
||||
|
||||
for (polygon_traits<polygon>::iterator_type itr = polys[i].begin(); itr != polys[i].end(); ++itr) {
|
||||
|
||||
// std::cout << (double)(*itr).get(boost::polygon::HORIZONTAL) / inputscale << std::endl;
|
||||
double x1 = ((double)(*itr).get(boost::polygon::HORIZONTAL)) / inputscale + xshift;
|
||||
double y1 = ((double)(*itr).get(boost::polygon::VERTICAL)) / inputscale + yshift;
|
||||
|
||||
pointlist.push_back(x1);
|
||||
pointlist.push_back(y1);
|
||||
|
||||
j++;
|
||||
}
|
||||
retpnts.push_back(pointlist);
|
||||
// holes
|
||||
|
||||
int k = 0;
|
||||
for (polygon_with_holes_traits<polygon>::iterator_holes_type itrh = begin_holes(polys[i]); itrh != end_holes(polys[i]); ++itrh) {
|
||||
vector<double> child = vector<double>();
|
||||
|
||||
|
||||
int z = 0;
|
||||
for (polygon_traits<polygon>::iterator_type itr2 = (*itrh).begin(); itr2 != (*itrh).end(); ++itr2) {
|
||||
|
||||
double x1 = ((double)(*itr2).get(boost::polygon::HORIZONTAL)) / inputscale + xshift;
|
||||
double y1 = ((double)(*itr2).get(boost::polygon::VERTICAL)) / inputscale + yshift;
|
||||
|
||||
child.push_back(x1);
|
||||
child.push_back(y1);
|
||||
|
||||
z++;
|
||||
}
|
||||
retholes.push_back(child);
|
||||
|
||||
k++;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
#pragma once
|
||||
|
||||
namespace MinkowskiCpp
|
||||
{
|
||||
public ref class Minkowski sealed
|
||||
{
|
||||
public:
|
||||
static void setData(int cntA, const Platform::Array<double>^ pntsA, int holesCnt, const Platform::Array<int>^ holesSizes, const Platform::Array<double>^ holesPoints, int cntB, const Platform::Array<double>^ pntsB);
|
||||
static void getSizes1(Platform::WriteOnlyArray<int>^ sizes);
|
||||
static void getSizes2(Platform::WriteOnlyArray<int>^ sizes1, Platform::WriteOnlyArray<int>^ sizes2);
|
||||
static void getResults(Platform::WriteOnlyArray<double>^ data, Platform::WriteOnlyArray<double>^ holesData);
|
||||
static void calculateNFP();
|
||||
private:
|
||||
Minkowski();
|
||||
static Minkowski^ Instance;
|
||||
};
|
||||
}
|
|
@ -0,0 +1,451 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup Label="ProjectConfigurations">
|
||||
<ProjectConfiguration Include="Debug|ARM">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|ARM64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|Win32">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Debug|x64">
|
||||
<Configuration>Debug</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|ARM64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>ARM64</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|Win32">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>Win32</Platform>
|
||||
</ProjectConfiguration>
|
||||
<ProjectConfiguration Include="Release|x64">
|
||||
<Configuration>Release</Configuration>
|
||||
<Platform>x64</Platform>
|
||||
</ProjectConfiguration>
|
||||
</ItemGroup>
|
||||
<PropertyGroup Label="Globals">
|
||||
<ProjectGuid>{71998b3c-e08f-4324-a087-2edeff1e3256}</ProjectGuid>
|
||||
<Keyword>WindowsRuntimeComponent</Keyword>
|
||||
<RootNamespace>MinkowskiCpp</RootNamespace>
|
||||
<DefaultLanguage>en-US</DefaultLanguage>
|
||||
<MinimumVisualStudioVersion>14.0</MinimumVisualStudioVersion>
|
||||
<AppContainerApplication>true</AppContainerApplication>
|
||||
<ApplicationType>Windows Store</ApplicationType>
|
||||
<WindowsTargetPlatformVersion>10.0.22621.0</WindowsTargetPlatformVersion>
|
||||
<WindowsTargetPlatformMinVersion>10.0.17763.0</WindowsTargetPlatformMinVersion>
|
||||
<ApplicationTypeRevision>10.0</ApplicationTypeRevision>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>true</UseDebugLibraries>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
|
||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||
<UseDebugLibraries>false</UseDebugLibraries>
|
||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||
<PlatformToolset>v143</PlatformToolset>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||
<ImportGroup Label="ExtensionSettings">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="Shared">
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Label="UserMacros" />
|
||||
<PropertyGroup />
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<GenerateManifest>false</GenerateManifest>
|
||||
</PropertyGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\boost_1_84_0</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_WINRT_DLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\boost_1_84_0</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\boost_1_84_0</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_WINRT_DLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\boost_1_84_0</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\boost_1_84_0</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_WINRT_DLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\boost_1_84_0</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_WINRT_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\boost_1_84_0</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
|
||||
<ClCompile>
|
||||
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||
<PreprocessorDefinitions>_WINRT_DLL;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||
<PrecompiledHeaderOutputFile>$(IntDir)pch.pch</PrecompiledHeaderOutputFile>
|
||||
<AdditionalUsingDirectories>$(WindowsSDK_WindowsMetadata);$(AdditionalUsingDirectories)</AdditionalUsingDirectories>
|
||||
<AdditionalOptions>/bigobj %(AdditionalOptions)</AdditionalOptions>
|
||||
<DisableSpecificWarnings>28204</DisableSpecificWarnings>
|
||||
<AdditionalIncludeDirectories>$(ProjectDir);$(GeneratedFilesDir);$(IntDir);%(AdditionalIncludeDirectories);$(ProjectDir)\boost_1_84_0</AdditionalIncludeDirectories>
|
||||
</ClCompile>
|
||||
<Link>
|
||||
<SubSystem>Console</SubSystem>
|
||||
<IgnoreAllDefaultLibraries>false</IgnoreAllDefaultLibraries>
|
||||
</Link>
|
||||
</ItemDefinitionGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="boost_1_84_0\boost\config.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\abi\borland_prefix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\abi\borland_suffix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\abi\msvc_prefix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\abi\msvc_suffix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\abi_prefix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\abi_suffix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx03.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx11.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx14.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx17.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx20.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx23.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx98.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\auto_link.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\borland.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\clang.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\clang_version.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\codegear.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\comeau.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\common_edg.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\compaq_cxx.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\cray.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\diab.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\digitalmars.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\gcc.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\gcc_xml.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\greenhills.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\hp_acc.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\intel.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\kai.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\metrowerks.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\mpw.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\nvcc.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\pathscale.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\pgi.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\sgi_mipspro.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\sunpro_cc.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\vacpp.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\visualc.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\xlcpp.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\xlcpp_zos.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\detail\cxx_composite.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\detail\posix_features.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\detail\select_compiler_config.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\detail\select_platform_config.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\detail\select_stdlib_config.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\detail\suffix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\header_deprecated.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\helper_macros.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\no_tr1\cmath.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\no_tr1\complex.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\no_tr1\functional.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\no_tr1\memory.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\no_tr1\utility.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\aix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\amigaos.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\beos.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\bsd.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\cloudabi.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\cray.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\cygwin.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\haiku.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\hpux.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\irix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\linux.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\macos.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\qnxnto.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\solaris.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\symbian.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\vms.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\vxworks.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\wasm.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\win32.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\zos.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\pragma_message.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\requires_threads.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\dinkumware.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\libcomo.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\libcpp.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\libstdcpp3.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\modena.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\msl.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\roguewave.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\sgi.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\stlport.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\vacpp.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\xlcpp_zos.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\user.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\warning_disable.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\workaround.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\boolean_op.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\boolean_op_45.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\iterator_compact_to_points.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\iterator_geometry_to_set.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\iterator_points_to_compact.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\max_cover.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\minkowski.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_45_formation.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_45_set_view.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_45_touch.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_90_set_view.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_90_touch.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_arbitrary_formation.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_formation.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_set_view.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_simplify.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_sort_adaptor.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\property_merge.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\property_merge_45.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\rectangle_formation.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\scan_arbitrary.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\voronoi_ctypes.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\voronoi_predicates.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\voronoi_robust_fpt.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\voronoi_structures.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\gmp_override.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\gtl.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\interval_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\interval_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\interval_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\isotropy.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\point_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\point_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\point_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_45_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_45_set_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_45_set_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_45_set_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_45_with_holes_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_90_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_90_set_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_90_set_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_90_set_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_90_with_holes_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_set_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_set_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_set_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_with_holes_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\rectangle_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\rectangle_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\rectangle_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\segment_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\segment_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\segment_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\segment_utils.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\transform.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\voronoi.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\voronoi_builder.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\voronoi_diagram.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\voronoi_geometry_type.hpp" />
|
||||
<ClInclude Include="Minkowski.h" />
|
||||
<ClInclude Include="pch.h" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="Minkowski.cpp" />
|
||||
<ClCompile Include="pch.cpp">
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|ARM'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|ARM'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">Create</PrecompiledHeader>
|
||||
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
</ItemGroup>
|
||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||
<ImportGroup Label="ExtensionTargets">
|
||||
</ImportGroup>
|
||||
</Project>
|
|
@ -0,0 +1,171 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ItemGroup>
|
||||
<Filter Include="Resources">
|
||||
<UniqueIdentifier>ab1c52c7-026a-42f8-9a9e-7fdceed91912</UniqueIdentifier>
|
||||
<Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tga;tiff;tif;png;wav;mfcribbon-ms</Extensions>
|
||||
</Filter>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClCompile Include="pch.cpp" />
|
||||
<ClCompile Include="Minkowski.cpp" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ClInclude Include="pch.h" />
|
||||
<ClInclude Include="Minkowski.h" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\boolean_op.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\boolean_op_45.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\iterator_compact_to_points.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\iterator_geometry_to_set.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\iterator_points_to_compact.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\max_cover.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\minkowski.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_45_formation.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_45_set_view.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_45_touch.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_90_set_view.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_90_touch.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_arbitrary_formation.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_formation.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_set_view.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_simplify.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\polygon_sort_adaptor.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\property_merge.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\property_merge_45.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\rectangle_formation.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\scan_arbitrary.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\voronoi_ctypes.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\voronoi_predicates.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\voronoi_robust_fpt.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\detail\voronoi_structures.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\gmp_override.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\gtl.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\interval_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\interval_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\interval_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\isotropy.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\point_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\point_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\point_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_45_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_45_set_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_45_set_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_45_set_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_45_with_holes_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_90_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_90_set_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_90_set_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_90_set_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_90_with_holes_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_set_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_set_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_set_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\polygon_with_holes_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\rectangle_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\rectangle_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\rectangle_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\segment_concept.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\segment_data.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\segment_traits.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\segment_utils.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\transform.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\voronoi.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\voronoi_builder.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\voronoi_diagram.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\polygon\voronoi_geometry_type.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\user.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\abi\borland_prefix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\abi\borland_suffix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\abi\msvc_prefix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\abi\msvc_suffix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\borland.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\clang.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\clang_version.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\codegear.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\comeau.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\common_edg.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\compaq_cxx.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\cray.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\diab.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\digitalmars.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\gcc.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\gcc_xml.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\greenhills.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\hp_acc.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\intel.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\kai.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\metrowerks.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\mpw.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\nvcc.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\pathscale.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\pgi.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\sgi_mipspro.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\sunpro_cc.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\vacpp.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\visualc.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\xlcpp.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\compiler\xlcpp_zos.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\detail\cxx_composite.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\detail\posix_features.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\detail\select_compiler_config.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\detail\select_platform_config.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\detail\select_stdlib_config.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\detail\suffix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\no_tr1\cmath.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\no_tr1\complex.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\no_tr1\functional.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\no_tr1\memory.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\no_tr1\utility.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\aix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\amigaos.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\beos.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\bsd.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\cloudabi.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\cray.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\cygwin.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\haiku.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\hpux.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\irix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\linux.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\macos.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\qnxnto.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\solaris.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\symbian.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\vms.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\vxworks.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\wasm.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\win32.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\platform\zos.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\dinkumware.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\libcomo.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\libcpp.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\libstdcpp3.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\modena.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\msl.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\roguewave.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\sgi.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\stlport.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\vacpp.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\stdlib\xlcpp_zos.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\abi_prefix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\abi_suffix.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx03.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx11.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx14.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx17.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx20.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx23.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\assert_cxx98.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\auto_link.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\header_deprecated.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\helper_macros.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\pragma_message.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\requires_threads.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\warning_disable.hpp" />
|
||||
<ClInclude Include="boost_1_84_0\boost\config\workaround.hpp" />
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -0,0 +1,67 @@
|
|||
// Boost config.hpp configuration header file ------------------------------//
|
||||
|
||||
// (C) Copyright John Maddock 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for most recent version.
|
||||
|
||||
// Boost config.hpp policy and rationale documentation has been moved to
|
||||
// http://www.boost.org/libs/config
|
||||
//
|
||||
// CAUTION: This file is intended to be completely stable -
|
||||
// DO NOT MODIFY THIS FILE!
|
||||
//
|
||||
|
||||
#ifndef BOOST_CONFIG_HPP
|
||||
#define BOOST_CONFIG_HPP
|
||||
|
||||
// if we don't have a user config, then use the default location:
|
||||
#if !defined(BOOST_USER_CONFIG) && !defined(BOOST_NO_USER_CONFIG)
|
||||
# define BOOST_USER_CONFIG <boost/config/user.hpp>
|
||||
#if 0
|
||||
// For dependency trackers:
|
||||
# include <boost/config/user.hpp>
|
||||
#endif
|
||||
#endif
|
||||
// include it first:
|
||||
#ifdef BOOST_USER_CONFIG
|
||||
# include BOOST_USER_CONFIG
|
||||
#endif
|
||||
|
||||
// if we don't have a compiler config set, try and find one:
|
||||
#if !defined(BOOST_COMPILER_CONFIG) && !defined(BOOST_NO_COMPILER_CONFIG) && !defined(BOOST_NO_CONFIG)
|
||||
# include <boost/config/detail/select_compiler_config.hpp>
|
||||
#endif
|
||||
// if we have a compiler config, include it now:
|
||||
#ifdef BOOST_COMPILER_CONFIG
|
||||
# include BOOST_COMPILER_CONFIG
|
||||
#endif
|
||||
|
||||
// if we don't have a std library config set, try and find one:
|
||||
#if !defined(BOOST_STDLIB_CONFIG) && !defined(BOOST_NO_STDLIB_CONFIG) && !defined(BOOST_NO_CONFIG) && defined(__cplusplus)
|
||||
# include <boost/config/detail/select_stdlib_config.hpp>
|
||||
#endif
|
||||
// if we have a std library config, include it now:
|
||||
#ifdef BOOST_STDLIB_CONFIG
|
||||
# include BOOST_STDLIB_CONFIG
|
||||
#endif
|
||||
|
||||
// if we don't have a platform config set, try and find one:
|
||||
#if !defined(BOOST_PLATFORM_CONFIG) && !defined(BOOST_NO_PLATFORM_CONFIG) && !defined(BOOST_NO_CONFIG)
|
||||
# include <boost/config/detail/select_platform_config.hpp>
|
||||
#endif
|
||||
// if we have a platform config, include it now:
|
||||
#ifdef BOOST_PLATFORM_CONFIG
|
||||
# include BOOST_PLATFORM_CONFIG
|
||||
#endif
|
||||
|
||||
// get config suffix code:
|
||||
#include <boost/config/detail/suffix.hpp>
|
||||
|
||||
#ifdef BOOST_HAS_PRAGMA_ONCE
|
||||
#pragma once
|
||||
#endif
|
||||
|
||||
#endif // BOOST_CONFIG_HPP
|
|
@ -0,0 +1,27 @@
|
|||
// (C) Copyright John Maddock 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// for C++ Builder the following options effect the ABI:
|
||||
//
|
||||
// -b (on or off - effect emum sizes)
|
||||
// -Vx (on or off - empty members)
|
||||
// -Ve (on or off - empty base classes)
|
||||
// -aX (alignment - 5 options).
|
||||
// -pX (Calling convention - 4 options)
|
||||
// -VmX (member pointer size and layout - 5 options)
|
||||
// -VC (on or off, changes name mangling)
|
||||
// -Vl (on or off, changes struct layout).
|
||||
|
||||
// In addition the following warnings are sufficiently annoying (and
|
||||
// unfixable) to have them turned off by default:
|
||||
//
|
||||
// 8027 - functions containing [for|while] loops are not expanded inline
|
||||
// 8026 - functions taking class by value arguments are not expanded inline
|
||||
|
||||
#pragma nopushoptwarn
|
||||
# pragma option push -a8 -Vx- -Ve- -b- -pc -Vmv -VC- -Vl- -w-8027 -w-8026
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
// (C) Copyright John Maddock 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
# pragma option pop
|
||||
#pragma nopushoptwarn
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
// (C) Copyright John Maddock 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
//
|
||||
// Boost binaries are built with the compiler's default ABI settings,
|
||||
// if the user changes their default alignment in the VS IDE then their
|
||||
// code will no longer be binary compatible with the bjam built binaries
|
||||
// unless this header is included to force Boost code into a consistent ABI.
|
||||
//
|
||||
// Note that inclusion of this header is only necessary for libraries with
|
||||
// separate source, header only libraries DO NOT need this as long as all
|
||||
// translation units are built with the same options.
|
||||
//
|
||||
#if defined(_M_X64)
|
||||
# pragma pack(push,16)
|
||||
#else
|
||||
# pragma pack(push,8)
|
||||
#endif
|
||||
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
// (C) Copyright John Maddock 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
// abi_prefix header -------------------------------------------------------//
|
||||
|
||||
// (c) Copyright John Maddock 2003
|
||||
|
||||
// Use, modification and distribution are subject to the Boost Software License,
|
||||
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt).
|
||||
|
||||
#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
|
||||
# define BOOST_CONFIG_ABI_PREFIX_HPP
|
||||
#else
|
||||
# error double inclusion of header boost/config/abi_prefix.hpp is an error
|
||||
#endif
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
// this must occur after all other includes and before any code appears:
|
||||
#ifdef BOOST_HAS_ABI_HEADERS
|
||||
# include BOOST_ABI_PREFIX
|
||||
#endif
|
||||
|
||||
#if defined( BOOST_BORLANDC )
|
||||
#pragma nopushoptwarn
|
||||
#endif
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
// abi_sufffix header -------------------------------------------------------//
|
||||
|
||||
// (c) Copyright John Maddock 2003
|
||||
|
||||
// Use, modification and distribution are subject to the Boost Software License,
|
||||
// Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt).
|
||||
|
||||
// This header should be #included AFTER code that was preceded by a #include
|
||||
// <boost/config/abi_prefix.hpp>.
|
||||
|
||||
#ifndef BOOST_CONFIG_ABI_PREFIX_HPP
|
||||
# error Header boost/config/abi_suffix.hpp must only be used after boost/config/abi_prefix.hpp
|
||||
#else
|
||||
# undef BOOST_CONFIG_ABI_PREFIX_HPP
|
||||
#endif
|
||||
|
||||
// the suffix header occurs after all of our code:
|
||||
#ifdef BOOST_HAS_ABI_HEADERS
|
||||
# include BOOST_ABI_SUFFIX
|
||||
#endif
|
||||
|
||||
#if defined( BOOST_BORLANDC )
|
||||
#pragma nopushoptwarn
|
||||
#endif
|
|
@ -0,0 +1,211 @@
|
|||
// This file was automatically generated on Fri Oct 13 19:09:38 2023
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
#include <boost/config.hpp>
|
||||
|
||||
#ifdef BOOST_NO_ADL_BARRIER
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_ADL_BARRIER."
|
||||
#endif
|
||||
#ifdef BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP."
|
||||
#endif
|
||||
#ifdef BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_COMPLETE_VALUE_INITIALIZATION."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CTYPE_FUNCTIONS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CTYPE_FUNCTIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CV_SPECIALIZATIONS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CV_SPECIALIZATIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CV_VOID_SPECIALIZATIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CWCHAR
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CWCHAR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CWCTYPE
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_CWCTYPE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_DEPENDENT_NESTED_DERIVATIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_EXCEPTIONS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_EXCEPTIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_EXCEPTION_STD_NAMESPACE
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_EXCEPTION_STD_NAMESPACE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_FENV_H
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_FENV_H."
|
||||
#endif
|
||||
#ifdef BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_FUNCTION_TEMPLATE_ORDERING."
|
||||
#endif
|
||||
#ifdef BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_INCLASS_MEMBER_INITIALIZATION."
|
||||
#endif
|
||||
#ifdef BOOST_NO_INTEGRAL_INT64_T
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_INTEGRAL_INT64_T."
|
||||
#endif
|
||||
#ifdef BOOST_NO_INTRINSIC_WCHAR_T
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_INTRINSIC_WCHAR_T."
|
||||
#endif
|
||||
#ifdef BOOST_NO_IOSFWD
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_IOSFWD."
|
||||
#endif
|
||||
#ifdef BOOST_NO_IOSTREAM
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_IOSTREAM."
|
||||
#endif
|
||||
#ifdef BOOST_NO_IS_ABSTRACT
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_IS_ABSTRACT."
|
||||
#endif
|
||||
#ifdef BOOST_NO_LIMITS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_LIMITS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_LONG_LONG
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_LONG_LONG."
|
||||
#endif
|
||||
#ifdef BOOST_NO_LONG_LONG_NUMERIC_LIMITS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_LONG_LONG_NUMERIC_LIMITS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_MEMBER_TEMPLATES
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_MEMBER_TEMPLATES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_MEMBER_TEMPLATE_FRIENDS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_MEMBER_TEMPLATE_KEYWORD
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_MEMBER_TEMPLATE_KEYWORD."
|
||||
#endif
|
||||
#ifdef BOOST_NO_NESTED_FRIENDSHIP
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_NESTED_FRIENDSHIP."
|
||||
#endif
|
||||
#ifdef BOOST_NO_OPERATORS_IN_NAMESPACE
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_OPERATORS_IN_NAMESPACE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_POINTER_TO_MEMBER_CONST
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_POINTER_TO_MEMBER_CONST."
|
||||
#endif
|
||||
#ifdef BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_PRIVATE_IN_AGGREGATE
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_PRIVATE_IN_AGGREGATE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_RESTRICT_REFERENCES
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_RESTRICT_REFERENCES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_RTTI
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_RTTI."
|
||||
#endif
|
||||
#ifdef BOOST_NO_SFINAE
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_SFINAE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_SFINAE_EXPR
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_SFINAE_EXPR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STDC_NAMESPACE
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STDC_NAMESPACE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STD_ALLOCATOR
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_ALLOCATOR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STD_DISTANCE
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_DISTANCE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STD_ITERATOR
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_ITERATOR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STD_ITERATOR_TRAITS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_ITERATOR_TRAITS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STD_LOCALE
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_LOCALE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STD_MESSAGES
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_MESSAGES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STD_MIN_MAX
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_MIN_MAX."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STD_TYPEINFO
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_TYPEINFO."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STD_USE_FACET
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_USE_FACET."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STD_WSTREAMBUF
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_WSTREAMBUF."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STD_WSTRING
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STD_WSTRING."
|
||||
#endif
|
||||
#ifdef BOOST_NO_STRINGSTREAM
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_STRINGSTREAM."
|
||||
#endif
|
||||
#ifdef BOOST_NO_TEMPLATED_IOSTREAMS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TEMPLATED_IOSTREAMS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION."
|
||||
#endif
|
||||
#ifdef BOOST_NO_TEMPLATE_TEMPLATES
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TEMPLATE_TEMPLATES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TWO_PHASE_NAME_LOOKUP."
|
||||
#endif
|
||||
#ifdef BOOST_NO_TYPEID
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TYPEID."
|
||||
#endif
|
||||
#ifdef BOOST_NO_TYPENAME_WITH_CTOR
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_TYPENAME_WITH_CTOR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_UNREACHABLE_RETURN_DETECTION."
|
||||
#endif
|
||||
#ifdef BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_USING_TEMPLATE
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_USING_TEMPLATE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_VOID_RETURNS
|
||||
# error "Your compiler appears not to be fully C++03 compliant. Detected via defect macro BOOST_NO_VOID_RETURNS."
|
||||
#endif
|
|
@ -0,0 +1,212 @@
|
|||
// This file was automatically generated on Fri Oct 13 19:09:38 2023
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/config/assert_cxx03.hpp>
|
||||
|
||||
#ifdef BOOST_NO_CXX11_ADDRESSOF
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ADDRESSOF."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_ALIGNAS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALIGNAS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_ALIGNOF
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALIGNOF."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_ALLOCATOR
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_ALLOCATOR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_AUTO_DECLARATIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_CHAR16_T
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_CHAR16_T."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_CHAR32_T
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_CHAR32_T."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_CONSTEXPR
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_CONSTEXPR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_DECLTYPE
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DECLTYPE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DECLTYPE_N3276."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DEFAULTED_FUNCTIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_DEFAULTED_MOVES
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DEFAULTED_MOVES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_DELETED_FUNCTIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_EXTERN_TEMPLATE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_FINAL
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_FINAL."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_ARRAY
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_ARRAY."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_ATOMIC."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_CHRONO
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_CHRONO."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_CONDITION_VARIABLE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_EXCEPTION."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_FORWARD_LIST."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_FUNCTIONAL."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_FUTURE
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_FUTURE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_INITIALIZER_LIST."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_MUTEX
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_MUTEX."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_RANDOM
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_RANDOM."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_RATIO
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_RATIO."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_REGEX
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_REGEX."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_SYSTEM_ERROR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_THREAD
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_THREAD."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_TUPLE
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_TUPLE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_TYPEINDEX
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_TYPEINDEX."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_TYPE_TRAITS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_UNORDERED_MAP."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_HDR_UNORDERED_SET
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_HDR_UNORDERED_SET."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_INLINE_NAMESPACES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_LAMBDAS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_LAMBDAS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_NOEXCEPT
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_NOEXCEPT."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_NULLPTR
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_NULLPTR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_NUMERIC_LIMITS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_OVERRIDE
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_OVERRIDE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_POINTER_TRAITS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_POINTER_TRAITS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_RANGE_BASED_FOR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_RAW_LITERALS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_RAW_LITERALS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_REF_QUALIFIERS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_RVALUE_REFERENCES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_SCOPED_ENUMS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_SFINAE_EXPR
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_SFINAE_EXPR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_SMART_PTR
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_SMART_PTR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_STATIC_ASSERT
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_STATIC_ASSERT."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_STD_ALIGN
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_STD_ALIGN."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_TEMPLATE_ALIASES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_THREAD_LOCAL
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_THREAD_LOCAL."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_TRAILING_RESULT_TYPES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_UNICODE_LITERALS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_UNRESTRICTED_UNION."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_USER_DEFINED_LITERALS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_VARIADIC_MACROS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# error "Your compiler appears not to be fully C++11 compliant. Detected via defect macro BOOST_NO_CXX11_VARIADIC_TEMPLATES."
|
||||
#endif
|
|
@ -0,0 +1,47 @@
|
|||
// This file was automatically generated on Fri Oct 13 19:09:38 2023
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/config/assert_cxx11.hpp>
|
||||
|
||||
#ifdef BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_AGGREGATE_NSDMI."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX14_BINARY_LITERALS
|
||||
# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_BINARY_LITERALS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX14_CONSTEXPR
|
||||
# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_CONSTEXPR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_DECLTYPE_AUTO."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_DIGIT_SEPARATORS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_GENERIC_LAMBDAS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_HDR_SHARED_MUTEX."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX14_STD_EXCHANGE
|
||||
# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_STD_EXCHANGE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
# error "Your compiler appears not to be fully C++14 compliant. Detected via defect macro BOOST_NO_CXX14_VARIABLE_TEMPLATES."
|
||||
#endif
|
|
@ -0,0 +1,62 @@
|
|||
// This file was automatically generated on Fri Oct 13 19:09:38 2023
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/config/assert_cxx14.hpp>
|
||||
|
||||
#ifdef BOOST_NO_CXX17_DEDUCTION_GUIDES
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_DEDUCTION_GUIDES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_FOLD_EXPRESSIONS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_HDR_ANY
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_ANY."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_HDR_CHARCONV
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_CHARCONV."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_HDR_EXECUTION
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_EXECUTION."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_HDR_FILESYSTEM
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_FILESYSTEM."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_HDR_MEMORY_RESOURCE
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_MEMORY_RESOURCE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_HDR_OPTIONAL
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_OPTIONAL."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_HDR_STRING_VIEW
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_STRING_VIEW."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_HDR_VARIANT
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_HDR_VARIANT."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_IF_CONSTEXPR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_INLINE_VARIABLES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_ITERATOR_TRAITS
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_ITERATOR_TRAITS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_STD_APPLY
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_STD_APPLY."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_STD_INVOKE
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_STD_INVOKE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
# error "Your compiler appears not to be fully C++17 compliant. Detected via defect macro BOOST_NO_CXX17_STRUCTURED_BINDINGS."
|
||||
#endif
|
|
@ -0,0 +1,59 @@
|
|||
// This file was automatically generated on Fri Oct 13 19:09:38 2023
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/config/assert_cxx17.hpp>
|
||||
|
||||
#ifdef BOOST_NO_CXX20_HDR_BARRIER
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_BARRIER."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_BIT
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_BIT."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_COMPARE
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_COMPARE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_CONCEPTS
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_CONCEPTS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_COROUTINE
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_COROUTINE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_FORMAT
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_FORMAT."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_LATCH
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_LATCH."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_NUMBERS
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_NUMBERS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_RANGES
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_RANGES."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_SEMAPHORE
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SEMAPHORE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_SOURCE_LOCATION
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SOURCE_LOCATION."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_SPAN
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SPAN."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_STOP_TOKEN
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_STOP_TOKEN."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_SYNCSTREAM
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_SYNCSTREAM."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX20_HDR_VERSION
|
||||
# error "Your compiler appears not to be fully C++20 compliant. Detected via defect macro BOOST_NO_CXX20_HDR_VERSION."
|
||||
#endif
|
|
@ -0,0 +1,41 @@
|
|||
// This file was automatically generated on Fri Oct 13 19:09:38 2023
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/config/assert_cxx20.hpp>
|
||||
|
||||
#ifdef BOOST_NO_CXX23_HDR_EXPECTED
|
||||
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_EXPECTED."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX23_HDR_FLAT_MAP
|
||||
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_FLAT_MAP."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX23_HDR_FLAT_SET
|
||||
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_FLAT_SET."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX23_HDR_GENERATOR
|
||||
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_GENERATOR."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX23_HDR_MDSPAN
|
||||
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_MDSPAN."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX23_HDR_PRINT
|
||||
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_PRINT."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX23_HDR_SPANSTREAM
|
||||
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_SPANSTREAM."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX23_HDR_STACKTRACE
|
||||
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_STACKTRACE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX23_HDR_STDFLOAT
|
||||
# error "Your compiler appears not to be fully C++23 compliant. Detected via defect macro BOOST_NO_CXX23_HDR_STDFLOAT."
|
||||
#endif
|
|
@ -0,0 +1,23 @@
|
|||
// This file was automatically generated on Wed Mar 3 08:46:11 2021
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-4.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/config/assert_cxx17.hpp>
|
||||
|
||||
#ifdef BOOST_NO_CXX98_BINDERS
|
||||
# error "Your compiler appears not to be fully C++98 compliant. Detected via defect macro BOOST_NO_CXX98_BINDERS."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX98_FUNCTION_BASE
|
||||
# error "Your compiler appears not to be fully C++98 compliant. Detected via defect macro BOOST_NO_CXX98_FUNCTION_BASE."
|
||||
#endif
|
||||
#ifdef BOOST_NO_CXX98_RANDOM_SHUFFLE
|
||||
# error "Your compiler appears not to be fully C++98 compliant. Detected via defect macro BOOST_NO_CXX98_RANDOM_SHUFFLE."
|
||||
#endif
|
|
@ -0,0 +1,525 @@
|
|||
// (C) Copyright John Maddock 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
/*
|
||||
* LOCATION: see http://www.boost.org for most recent version.
|
||||
* FILE auto_link.hpp
|
||||
* VERSION see <boost/version.hpp>
|
||||
* DESCRIPTION: Automatic library inclusion for Borland/Microsoft compilers.
|
||||
*/
|
||||
|
||||
/*************************************************************************
|
||||
|
||||
USAGE:
|
||||
~~~~~~
|
||||
|
||||
Before including this header you must define one or more of define the following macros:
|
||||
|
||||
BOOST_LIB_NAME: Required: A string containing the basename of the library,
|
||||
for example boost_regex.
|
||||
BOOST_LIB_TOOLSET: Optional: the base name of the toolset.
|
||||
BOOST_DYN_LINK: Optional: when set link to dll rather than static library.
|
||||
BOOST_LIB_DIAGNOSTIC: Optional: when set the header will print out the name
|
||||
of the library selected (useful for debugging).
|
||||
BOOST_AUTO_LINK_NOMANGLE: Specifies that we should link to BOOST_LIB_NAME.lib,
|
||||
rather than a mangled-name version.
|
||||
BOOST_AUTO_LINK_TAGGED: Specifies that we link to libraries built with the --layout=tagged option.
|
||||
This is essentially the same as the default name-mangled version, but without
|
||||
the compiler name and version, or the Boost version. Just the build options.
|
||||
BOOST_AUTO_LINK_SYSTEM: Specifies that we link to libraries built with the --layout=system option.
|
||||
This is essentially the same as the non-name-mangled version, but with
|
||||
the prefix to differentiate static and dll builds
|
||||
|
||||
These macros will be undef'ed at the end of the header, further this header
|
||||
has no include guards - so be sure to include it only once from your library!
|
||||
|
||||
Algorithm:
|
||||
~~~~~~~~~~
|
||||
|
||||
Libraries for Borland and Microsoft compilers are automatically
|
||||
selected here, the name of the lib is selected according to the following
|
||||
formula:
|
||||
|
||||
BOOST_LIB_PREFIX
|
||||
+ BOOST_LIB_NAME
|
||||
+ "_"
|
||||
+ BOOST_LIB_TOOLSET
|
||||
+ BOOST_LIB_THREAD_OPT
|
||||
+ BOOST_LIB_RT_OPT
|
||||
+ BOOST_LIB_ARCH_AND_MODEL_OPT
|
||||
"-"
|
||||
+ BOOST_LIB_VERSION
|
||||
+ BOOST_LIB_SUFFIX
|
||||
|
||||
These are defined as:
|
||||
|
||||
BOOST_LIB_PREFIX: "lib" for static libraries otherwise "".
|
||||
|
||||
BOOST_LIB_NAME: The base name of the lib ( for example boost_regex).
|
||||
|
||||
BOOST_LIB_TOOLSET: The compiler toolset name (vc6, vc7, bcb5 etc).
|
||||
|
||||
BOOST_LIB_THREAD_OPT: "-mt" for multithread builds, otherwise nothing.
|
||||
|
||||
BOOST_LIB_RT_OPT: A suffix that indicates the runtime library used,
|
||||
contains one or more of the following letters after
|
||||
a hyphen:
|
||||
|
||||
s static runtime (dynamic if not present).
|
||||
g debug/diagnostic runtime (release if not present).
|
||||
y Python debug/diagnostic runtime (release if not present).
|
||||
d debug build (release if not present).
|
||||
p STLport build.
|
||||
n STLport build without its IOStreams.
|
||||
|
||||
BOOST_LIB_ARCH_AND_MODEL_OPT: The architecture and address model
|
||||
(-x32 or -x64 for x86/32 and x86/64 respectively)
|
||||
|
||||
BOOST_LIB_VERSION: The Boost version, in the form x_y, for Boost version x.y.
|
||||
|
||||
BOOST_LIB_SUFFIX: Static/import libraries extension (".lib", ".a") for the compiler.
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
# ifndef BOOST_CONFIG_HPP
|
||||
# include <boost/config.hpp>
|
||||
# endif
|
||||
#elif defined(_MSC_VER) && !defined(__MWERKS__) && !defined(__EDG_VERSION__)
|
||||
//
|
||||
// C language compatability (no, honestly)
|
||||
//
|
||||
# define BOOST_MSVC _MSC_VER
|
||||
# define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
|
||||
# define BOOST_DO_STRINGIZE(X) #X
|
||||
#endif
|
||||
//
|
||||
// Only include what follows for known and supported compilers:
|
||||
//
|
||||
#if defined(BOOST_MSVC) \
|
||||
|| defined(BOOST_EMBTC_WINDOWS) \
|
||||
|| defined(BOOST_BORLANDC) \
|
||||
|| (defined(__MWERKS__) && defined(_WIN32) && (__MWERKS__ >= 0x3000)) \
|
||||
|| (defined(__ICL) && defined(_MSC_EXTENSIONS) && (_MSC_VER >= 1200)) \
|
||||
|| (defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4))
|
||||
|
||||
#ifndef BOOST_VERSION_HPP
|
||||
# include <boost/version.hpp>
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_LIB_NAME
|
||||
# error "Macro BOOST_LIB_NAME not set (internal error)"
|
||||
#endif
|
||||
|
||||
//
|
||||
// error check:
|
||||
//
|
||||
#if defined(__MSVC_RUNTIME_CHECKS) && !defined(_DEBUG)
|
||||
# pragma message("Using the /RTC option without specifying a debug runtime will lead to linker errors")
|
||||
# pragma message("Hint: go to the code generation options and switch to one of the debugging runtimes")
|
||||
# error "Incompatible build options"
|
||||
#endif
|
||||
//
|
||||
// select toolset if not defined already:
|
||||
//
|
||||
#ifndef BOOST_LIB_TOOLSET
|
||||
# if defined(BOOST_MSVC) && (BOOST_MSVC < 1200)
|
||||
// Note: no compilers before 1200 are supported
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
|
||||
|
||||
# ifdef UNDER_CE
|
||||
// eVC4:
|
||||
# define BOOST_LIB_TOOLSET "evc4"
|
||||
# else
|
||||
// vc6:
|
||||
# define BOOST_LIB_TOOLSET "vc6"
|
||||
# endif
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1310)
|
||||
|
||||
// vc7:
|
||||
# define BOOST_LIB_TOOLSET "vc7"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1400)
|
||||
|
||||
// vc71:
|
||||
# define BOOST_LIB_TOOLSET "vc71"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1500)
|
||||
|
||||
// vc80:
|
||||
# define BOOST_LIB_TOOLSET "vc80"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1600)
|
||||
|
||||
// vc90:
|
||||
# define BOOST_LIB_TOOLSET "vc90"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1700)
|
||||
|
||||
// vc10:
|
||||
# define BOOST_LIB_TOOLSET "vc100"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800)
|
||||
|
||||
// vc11:
|
||||
# define BOOST_LIB_TOOLSET "vc110"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1900)
|
||||
|
||||
// vc12:
|
||||
# define BOOST_LIB_TOOLSET "vc120"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1910)
|
||||
|
||||
// vc14:
|
||||
# define BOOST_LIB_TOOLSET "vc140"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1920)
|
||||
|
||||
// vc14.1:
|
||||
# define BOOST_LIB_TOOLSET "vc141"
|
||||
|
||||
# elif defined(BOOST_MSVC) && (BOOST_MSVC < 1930)
|
||||
|
||||
// vc14.2:
|
||||
# define BOOST_LIB_TOOLSET "vc142"
|
||||
|
||||
# elif defined(BOOST_MSVC)
|
||||
|
||||
// vc14.3:
|
||||
# define BOOST_LIB_TOOLSET "vc143"
|
||||
|
||||
# elif defined(BOOST_EMBTC_WINDOWS)
|
||||
|
||||
// Embarcadero Clang based compilers:
|
||||
# define BOOST_LIB_TOOLSET "embtc"
|
||||
|
||||
# elif defined(BOOST_BORLANDC)
|
||||
|
||||
// CBuilder 6:
|
||||
# define BOOST_LIB_TOOLSET "bcb"
|
||||
|
||||
# elif defined(__ICL)
|
||||
|
||||
// Intel C++, no version number:
|
||||
# define BOOST_LIB_TOOLSET "iw"
|
||||
|
||||
# elif defined(__MWERKS__) && (__MWERKS__ <= 0x31FF )
|
||||
|
||||
// Metrowerks CodeWarrior 8.x
|
||||
# define BOOST_LIB_TOOLSET "cw8"
|
||||
|
||||
# elif defined(__MWERKS__) && (__MWERKS__ <= 0x32FF )
|
||||
|
||||
// Metrowerks CodeWarrior 9.x
|
||||
# define BOOST_LIB_TOOLSET "cw9"
|
||||
|
||||
# elif defined(BOOST_CLANG) && defined(BOOST_WINDOWS) && defined(_MSC_VER) && (__clang_major__ >= 4)
|
||||
|
||||
// Clang on Windows
|
||||
# define BOOST_LIB_TOOLSET "clangw" BOOST_STRINGIZE(__clang_major__)
|
||||
|
||||
# endif
|
||||
#endif // BOOST_LIB_TOOLSET
|
||||
|
||||
//
|
||||
// select thread opt:
|
||||
//
|
||||
#if defined(_MT) || defined(__MT__)
|
||||
# define BOOST_LIB_THREAD_OPT "-mt"
|
||||
#else
|
||||
# define BOOST_LIB_THREAD_OPT
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) || defined(__MWERKS__)
|
||||
|
||||
# ifdef _DLL
|
||||
|
||||
# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
|
||||
|
||||
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-gydp"
|
||||
# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
||||
# define BOOST_LIB_RT_OPT "-gdp"
|
||||
# elif defined(_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-gydp"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# elif defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-gdp"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-p"
|
||||
# endif
|
||||
|
||||
# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
||||
|
||||
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-gydpn"
|
||||
# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
||||
# define BOOST_LIB_RT_OPT "-gdpn"
|
||||
# elif defined(_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-gydpn"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# elif defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-gdpn"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-pn"
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
# if defined(_DEBUG) && defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-gyd"
|
||||
# elif defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-gd"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
# if (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)) && (defined(_STLP_OWN_IOSTREAMS) || defined(__STL_OWN_IOSTREAMS))
|
||||
|
||||
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-sgydp"
|
||||
# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
||||
# define BOOST_LIB_RT_OPT "-sgdp"
|
||||
# elif defined(_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-sgydp"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# elif defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-sgdp"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-sp"
|
||||
# endif
|
||||
|
||||
# elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
||||
|
||||
# if defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-sgydpn"
|
||||
# elif defined(_DEBUG) && (defined(__STL_DEBUG) || defined(_STLP_DEBUG))
|
||||
# define BOOST_LIB_RT_OPT "-sgdpn"
|
||||
# elif defined(_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-sgydpn"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# elif defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-sgdpn"
|
||||
# pragma message("warning: STLport debug versions are built with /D_STLP_DEBUG=1")
|
||||
# error "Build options aren't compatible with pre-built libraries"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-spn"
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
# if defined(_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-sgyd"
|
||||
# elif defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-sgd"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-s"
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
#elif defined(BOOST_EMBTC_WINDOWS)
|
||||
|
||||
# ifdef _RTLDLL
|
||||
|
||||
# if defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-d"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
# if defined(_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-sd"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-s"
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
#elif defined(BOOST_BORLANDC)
|
||||
|
||||
//
|
||||
// figure out whether we want the debug builds or not:
|
||||
//
|
||||
#if BOOST_BORLANDC > 0x561
|
||||
#pragma defineonoption BOOST_BORLAND_DEBUG -v
|
||||
#endif
|
||||
//
|
||||
// sanity check:
|
||||
//
|
||||
#if defined(__STL_DEBUG) || defined(_STLP_DEBUG)
|
||||
#error "Pre-built versions of the Boost libraries are not provided in STLport-debug form"
|
||||
#endif
|
||||
|
||||
# ifdef _RTLDLL
|
||||
|
||||
# if defined(BOOST_BORLAND_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-yd"
|
||||
# elif defined(BOOST_BORLAND_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-d"
|
||||
# elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-y"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
# if defined(BOOST_BORLAND_DEBUG)\
|
||||
&& defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-syd"
|
||||
# elif defined(BOOST_BORLAND_DEBUG)
|
||||
# define BOOST_LIB_RT_OPT "-sd"
|
||||
# elif defined(BOOST_DEBUG_PYTHON) && defined(BOOST_LINKING_PYTHON)
|
||||
# define BOOST_LIB_RT_OPT "-sy"
|
||||
# else
|
||||
# define BOOST_LIB_RT_OPT "-s"
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// BOOST_LIB_ARCH_AND_MODEL_OPT
|
||||
//
|
||||
|
||||
#if defined( _M_IX86 )
|
||||
# define BOOST_LIB_ARCH_AND_MODEL_OPT "-x32"
|
||||
#elif defined( _M_X64 )
|
||||
# define BOOST_LIB_ARCH_AND_MODEL_OPT "-x64"
|
||||
#elif defined( _M_ARM )
|
||||
# define BOOST_LIB_ARCH_AND_MODEL_OPT "-a32"
|
||||
#elif defined( _M_ARM64 )
|
||||
# define BOOST_LIB_ARCH_AND_MODEL_OPT "-a64"
|
||||
#endif
|
||||
|
||||
//
|
||||
// select linkage opt:
|
||||
//
|
||||
#if (defined(_DLL) || defined(_RTLDLL)) && defined(BOOST_DYN_LINK)
|
||||
# define BOOST_LIB_PREFIX
|
||||
#elif defined(BOOST_DYN_LINK)
|
||||
# error "Mixing a dll boost library with a static runtime is a really bad idea..."
|
||||
#else
|
||||
# define BOOST_LIB_PREFIX "lib"
|
||||
#endif
|
||||
|
||||
//
|
||||
// now include the lib:
|
||||
//
|
||||
#if defined(BOOST_LIB_NAME) \
|
||||
&& defined(BOOST_LIB_PREFIX) \
|
||||
&& defined(BOOST_LIB_TOOLSET) \
|
||||
&& defined(BOOST_LIB_THREAD_OPT) \
|
||||
&& defined(BOOST_LIB_RT_OPT) \
|
||||
&& defined(BOOST_LIB_ARCH_AND_MODEL_OPT) \
|
||||
&& defined(BOOST_LIB_VERSION)
|
||||
|
||||
#if defined(BOOST_EMBTC_WIN64)
|
||||
# define BOOST_LIB_SUFFIX ".a"
|
||||
#else
|
||||
# define BOOST_LIB_SUFFIX ".lib"
|
||||
#endif
|
||||
|
||||
#ifdef BOOST_AUTO_LINK_NOMANGLE
|
||||
# pragma comment(lib, BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
|
||||
# endif
|
||||
#elif defined(BOOST_AUTO_LINK_TAGGED)
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT BOOST_LIB_SUFFIX)
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT BOOST_LIB_SUFFIX)
|
||||
# endif
|
||||
#elif defined(BOOST_AUTO_LINK_SYSTEM)
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) BOOST_LIB_SUFFIX)
|
||||
# endif
|
||||
#elif defined(BOOST_LIB_BUILDID)
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) BOOST_LIB_SUFFIX)
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION "-" BOOST_STRINGIZE(BOOST_LIB_BUILDID) BOOST_LIB_SUFFIX)
|
||||
# endif
|
||||
#else
|
||||
# pragma comment(lib, BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION BOOST_LIB_SUFFIX)
|
||||
# ifdef BOOST_LIB_DIAGNOSTIC
|
||||
# pragma message ("Linking to lib file: " BOOST_LIB_PREFIX BOOST_STRINGIZE(BOOST_LIB_NAME) "-" BOOST_LIB_TOOLSET BOOST_LIB_THREAD_OPT BOOST_LIB_RT_OPT BOOST_LIB_ARCH_AND_MODEL_OPT "-" BOOST_LIB_VERSION BOOST_LIB_SUFFIX)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#else
|
||||
# error "some required macros where not defined (internal logic error)."
|
||||
#endif
|
||||
|
||||
|
||||
#endif // _MSC_VER || __BORLANDC__
|
||||
|
||||
//
|
||||
// finally undef any macros we may have set:
|
||||
//
|
||||
#ifdef BOOST_LIB_PREFIX
|
||||
# undef BOOST_LIB_PREFIX
|
||||
#endif
|
||||
#if defined(BOOST_LIB_NAME)
|
||||
# undef BOOST_LIB_NAME
|
||||
#endif
|
||||
// Don't undef this one: it can be set by the user and should be the
|
||||
// same for all libraries:
|
||||
//#if defined(BOOST_LIB_TOOLSET)
|
||||
//# undef BOOST_LIB_TOOLSET
|
||||
//#endif
|
||||
#if defined(BOOST_LIB_THREAD_OPT)
|
||||
# undef BOOST_LIB_THREAD_OPT
|
||||
#endif
|
||||
#if defined(BOOST_LIB_RT_OPT)
|
||||
# undef BOOST_LIB_RT_OPT
|
||||
#endif
|
||||
#if defined(BOOST_LIB_ARCH_AND_MODEL_OPT)
|
||||
# undef BOOST_LIB_ARCH_AND_MODEL_OPT
|
||||
#endif
|
||||
#if defined(BOOST_LIB_LINK_OPT)
|
||||
# undef BOOST_LIB_LINK_OPT
|
||||
#endif
|
||||
#if defined(BOOST_LIB_DEBUG_OPT)
|
||||
# undef BOOST_LIB_DEBUG_OPT
|
||||
#endif
|
||||
#if defined(BOOST_DYN_LINK)
|
||||
# undef BOOST_DYN_LINK
|
||||
#endif
|
||||
#if defined(BOOST_LIB_SUFFIX)
|
||||
# undef BOOST_LIB_SUFFIX
|
||||
#endif
|
|
@ -0,0 +1,339 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Borland C++ compiler setup:
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Borland prior to version 5.4:
|
||||
#if __BORLANDC__ < 0x540
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
|
||||
// last known compiler version:
|
||||
#if (__BORLANDC__ > 0x613)
|
||||
//# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
||||
//# else
|
||||
//# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results")
|
||||
//# endif
|
||||
#elif (__BORLANDC__ == 0x600)
|
||||
# error "CBuilderX preview compiler is no longer supported"
|
||||
#endif
|
||||
|
||||
//
|
||||
// Support macros to help with standard library detection
|
||||
#if (__BORLANDC__ < 0x560) || defined(_USE_OLD_RW_STL)
|
||||
# define BOOST_BCB_WITH_ROGUE_WAVE
|
||||
#elif __BORLANDC__ < 0x570
|
||||
# define BOOST_BCB_WITH_STLPORT
|
||||
#else
|
||||
# define BOOST_BCB_WITH_DINKUMWARE
|
||||
#endif
|
||||
|
||||
//
|
||||
// Version 5.0 and below:
|
||||
# if __BORLANDC__ <= 0x0550
|
||||
// Borland C++Builder 4 and 5:
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# if __BORLANDC__ == 0x0550
|
||||
// Borland C++Builder 5, command-line compiler 5.5:
|
||||
# define BOOST_NO_OPERATORS_IN_NAMESPACE
|
||||
# endif
|
||||
// Variadic macros do not exist for C++ Builder versions 5 and below
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
# endif
|
||||
|
||||
// Version 5.51 and below:
|
||||
#if (__BORLANDC__ <= 0x551)
|
||||
# define BOOST_NO_CV_SPECIALIZATIONS
|
||||
# define BOOST_NO_CV_VOID_SPECIALIZATIONS
|
||||
# define BOOST_NO_DEDUCED_TYPENAME
|
||||
// workaround for missing WCHAR_MAX/WCHAR_MIN:
|
||||
#ifdef __cplusplus
|
||||
#include <climits>
|
||||
#include <cwchar>
|
||||
#else
|
||||
#include <limits.h>
|
||||
#include <wchar.h>
|
||||
#endif // __cplusplus
|
||||
#ifndef WCHAR_MAX
|
||||
# define WCHAR_MAX 0xffff
|
||||
#endif
|
||||
#ifndef WCHAR_MIN
|
||||
# define WCHAR_MIN 0
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Borland C++ Builder 6 and below:
|
||||
#if (__BORLANDC__ <= 0x564)
|
||||
|
||||
# if defined(NDEBUG) && defined(__cplusplus)
|
||||
// fix broken <cstring> so that Boost.test works:
|
||||
# include <cstring>
|
||||
# undef strcmp
|
||||
# endif
|
||||
// fix broken errno declaration:
|
||||
# include <errno.h>
|
||||
# ifndef errno
|
||||
# define errno errno
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// new bug in 5.61:
|
||||
#if (__BORLANDC__ >= 0x561) && (__BORLANDC__ <= 0x580)
|
||||
// this seems to be needed by the command line compiler, but not the IDE:
|
||||
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||
#endif
|
||||
|
||||
// Borland C++ Builder 2006 Update 2 and below:
|
||||
#if (__BORLANDC__ <= 0x582)
|
||||
# define BOOST_NO_SFINAE
|
||||
# define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
|
||||
# define BOOST_NO_TEMPLATE_TEMPLATES
|
||||
|
||||
# define BOOST_NO_PRIVATE_IN_AGGREGATE
|
||||
|
||||
# ifdef _WIN32
|
||||
# define BOOST_NO_SWPRINTF
|
||||
# elif defined(linux) || defined(__linux__) || defined(__linux)
|
||||
// we should really be able to do without this
|
||||
// but the wcs* functions aren't imported into std::
|
||||
# define BOOST_NO_STDC_NAMESPACE
|
||||
// _CPPUNWIND doesn't get automatically set for some reason:
|
||||
# pragma defineonoption BOOST_CPPUNWIND -x
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if (__BORLANDC__ <= 0x613) // Beman has asked Alisdair for more info
|
||||
// we shouldn't really need this - but too many things choke
|
||||
// without it, this needs more investigation:
|
||||
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# define BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS
|
||||
# define BOOST_NO_USING_TEMPLATE
|
||||
# define BOOST_SP_NO_SP_CONVERTIBLE
|
||||
|
||||
// Temporary workaround
|
||||
#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
|
||||
#endif
|
||||
|
||||
// Borland C++ Builder 2008 and below:
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
||||
# define BOOST_NO_NESTED_FRIENDSHIP
|
||||
# define BOOST_NO_TYPENAME_WITH_CTOR
|
||||
#if (__BORLANDC__ < 0x600)
|
||||
# define BOOST_ILLEGAL_CV_REFERENCES
|
||||
#endif
|
||||
|
||||
//
|
||||
// Positive Feature detection
|
||||
//
|
||||
// Borland C++ Builder 2008 and below:
|
||||
#if (__BORLANDC__ >= 0x599)
|
||||
# pragma defineonoption BOOST_CODEGEAR_0X_SUPPORT -Ax
|
||||
#endif
|
||||
//
|
||||
// C++0x Macros:
|
||||
//
|
||||
#if !defined( BOOST_CODEGEAR_0X_SUPPORT ) || (__BORLANDC__ < 0x610)
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#else
|
||||
# define BOOST_HAS_ALIGNOF
|
||||
# define BOOST_HAS_CHAR16_T
|
||||
# define BOOST_HAS_CHAR32_T
|
||||
# define BOOST_HAS_DECLTYPE
|
||||
# define BOOST_HAS_EXPLICIT_CONVERSION_OPS
|
||||
# define BOOST_HAS_REF_QUALIFIER
|
||||
# define BOOST_HAS_RVALUE_REFS
|
||||
# define BOOST_HAS_STATIC_ASSERT
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DEFAULTED_MOVES
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS // UTF-8 still not supported
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
#define BOOST_NO_CXX11_OVERRIDE
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// C++17
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#endif
|
||||
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#if __BORLANDC__ >= 0x590
|
||||
# define BOOST_HAS_TR1_HASH
|
||||
|
||||
# define BOOST_HAS_MACRO_USE_FACET
|
||||
#endif
|
||||
|
||||
//
|
||||
// Post 0x561 we have long long and stdint.h:
|
||||
#if __BORLANDC__ >= 0x561
|
||||
# ifndef __NO_LONG_LONG
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
# else
|
||||
# define BOOST_NO_LONG_LONG
|
||||
# endif
|
||||
// On non-Win32 platforms let the platform config figure this out:
|
||||
# ifdef _WIN32
|
||||
# define BOOST_HAS_STDINT_H
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// Borland C++Builder 6 defaults to using STLPort. If _USE_OLD_RW_STL is
|
||||
// defined, then we have 0x560 or greater with the Rogue Wave implementation
|
||||
// which presumably has the std::DBL_MAX bug.
|
||||
#if defined( BOOST_BCB_WITH_ROGUE_WAVE )
|
||||
// <climits> is partly broken, some macros define symbols that are really in
|
||||
// namespace std, so you end up having to use illegal constructs like
|
||||
// std::DBL_MAX, as a fix we'll just include float.h and have done with:
|
||||
#include <float.h>
|
||||
#endif
|
||||
//
|
||||
// __int64:
|
||||
//
|
||||
#if (__BORLANDC__ >= 0x530) && !defined(__STRICT_ANSI__)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
#endif
|
||||
//
|
||||
// check for exception handling support:
|
||||
//
|
||||
#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
//
|
||||
// all versions have a <dirent.h>:
|
||||
//
|
||||
#ifndef __STRICT_ANSI__
|
||||
# define BOOST_HAS_DIRENT_H
|
||||
#endif
|
||||
//
|
||||
// all versions support __declspec:
|
||||
//
|
||||
#if defined(__STRICT_ANSI__)
|
||||
// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
|
||||
# define BOOST_SYMBOL_EXPORT
|
||||
#endif
|
||||
//
|
||||
// ABI fixing headers:
|
||||
//
|
||||
#if __BORLANDC__ != 0x600 // not implemented for version 6 compiler yet
|
||||
#ifndef BOOST_ABI_PREFIX
|
||||
# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
|
||||
#endif
|
||||
#ifndef BOOST_ABI_SUFFIX
|
||||
# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
|
||||
#endif
|
||||
#endif
|
||||
//
|
||||
// Disable Win32 support in ANSI mode:
|
||||
//
|
||||
#if __BORLANDC__ < 0x600
|
||||
# pragma defineonoption BOOST_DISABLE_WIN32 -A
|
||||
#elif defined(__STRICT_ANSI__)
|
||||
# define BOOST_DISABLE_WIN32
|
||||
#endif
|
||||
//
|
||||
// MSVC compatibility mode does some nasty things:
|
||||
// TODO: look up if this doesn't apply to the whole 12xx range
|
||||
//
|
||||
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
|
||||
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
# define BOOST_NO_VOID_RETURNS
|
||||
#endif
|
||||
|
||||
// Borland did not implement value-initialization completely, as I reported
|
||||
// in 2007, Borland Report 51854, "Value-initialization: POD struct should be
|
||||
// zero-initialized", http://qc.embarcadero.com/wc/qcmain.aspx?d=51854
|
||||
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
|
||||
// (Niels Dekker, LKEB, April 2010)
|
||||
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
|
||||
#define BOOST_BORLANDC __BORLANDC__
|
||||
#define BOOST_COMPILER "Classic Borland C++ version " BOOST_STRINGIZE(__BORLANDC__)
|
|
@ -0,0 +1,366 @@
|
|||
// (C) Copyright Douglas Gregor 2010
|
||||
//
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Clang compiler setup.
|
||||
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
|
||||
// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.
|
||||
#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
|
||||
# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
|
||||
#endif
|
||||
|
||||
// When compiling with clang before __has_extension was defined,
|
||||
// even if one writes 'defined(__has_extension) && __has_extension(xxx)',
|
||||
// clang reports a compiler error. So the only workaround found is:
|
||||
|
||||
#ifndef __has_extension
|
||||
#define __has_extension __has_feature
|
||||
#endif
|
||||
|
||||
#ifndef __has_attribute
|
||||
#define __has_attribute(x) 0
|
||||
#endif
|
||||
|
||||
#ifndef __has_cpp_attribute
|
||||
#define __has_cpp_attribute(x) 0
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)
|
||||
# define BOOST_NO_RTTI
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)
|
||||
# define BOOST_NO_TYPEID
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_thread_local)
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#endif
|
||||
|
||||
#ifdef __is_identifier
|
||||
#if !__is_identifier(__int64) && !defined(__GNUC__)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if __has_include(<stdint.h>)
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
|
||||
#if (__clang_major__ >= 4) && defined(__has_include)
|
||||
#if __has_include(<quadmath.h>)
|
||||
# define BOOST_HAS_FLOAT128
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
#define BOOST_HAS_NRVO
|
||||
|
||||
// Branch prediction hints
|
||||
#if !defined (__c2__) && defined(__has_builtin)
|
||||
#if __has_builtin(__builtin_expect)
|
||||
#define BOOST_LIKELY(x) __builtin_expect(x, 1)
|
||||
#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Clang supports "long long" in all compilation modes.
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
|
||||
//
|
||||
// We disable this if the compiler is really nvcc with C++03 as it
|
||||
// doesn't actually support __int128 as of CUDA_VERSION=7500
|
||||
// even though it defines __SIZEOF_INT128__.
|
||||
// See https://svn.boost.org/trac/boost/ticket/10418
|
||||
// https://svn.boost.org/trac/boost/ticket/11852
|
||||
// Only re-enable this for nvcc if you're absolutely sure
|
||||
// of the circumstances under which it's supported.
|
||||
// Similarly __SIZEOF_INT128__ is defined when targetting msvc
|
||||
// compatibility even though the required support functions are absent.
|
||||
//
|
||||
#if defined(__CUDACC__)
|
||||
# if defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NVCC_CXX11
|
||||
# else
|
||||
# define BOOST_NVCC_CXX03
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03) && !defined(_MSC_VER)
|
||||
# define BOOST_HAS_INT128
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// Dynamic shared object (DSO) and dynamic-link library (DLL) support
|
||||
//
|
||||
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)
|
||||
# define BOOST_HAS_DECLSPEC
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__))
|
||||
# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))
|
||||
#else
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
|
||||
# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
|
||||
# define BOOST_SYMBOL_IMPORT
|
||||
#endif
|
||||
|
||||
//
|
||||
// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
|
||||
// between switch labels.
|
||||
//
|
||||
#if __cplusplus >= 201103L && defined(__has_warning)
|
||||
# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
|
||||
# define BOOST_FALLTHROUGH [[clang::fallthrough]]
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_auto_type)
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#endif
|
||||
|
||||
//
|
||||
// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t
|
||||
//
|
||||
#if (defined(_MSC_VER) && (_MSC_VER < 1900)) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1800) && !defined(__GNUC__)
|
||||
#define BOOST_HAS_EXPM1
|
||||
#define BOOST_HAS_LOG1P
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_constexpr)
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_decltype)
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_decltype_incomplete_return_types)
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_defaulted_functions)
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_deleted_functions)
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_explicit_conversions)
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_default_function_template_args)
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_generalized_initializers)
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_lambdas)
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_local_type_template_args)
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_noexcept)
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_nullptr)
|
||||
# define BOOST_NO_CXX11_NULLPTR
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_range_for)
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_raw_string_literals)
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_reference_qualified_functions)
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_generalized_initializers)
|
||||
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_rvalue_references)
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_strong_enums)
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_static_assert)
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_alias_templates)
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_unicode_literals)
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_variadic_templates)
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_user_literals)
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_alignas)
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_alignof)
|
||||
# define BOOST_NO_CXX11_ALIGNOF
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_trailing_return)
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_inline_namespaces)
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_override_control)
|
||||
# define BOOST_NO_CXX11_FINAL
|
||||
# define BOOST_NO_CXX11_OVERRIDE
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_unrestricted_unions)
|
||||
# define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
#endif
|
||||
|
||||
#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__))
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(__cxx_decltype_auto__)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
|
||||
#if !__has_feature(__cxx_aggregate_nsdmi__)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
|
||||
#if !__has_feature(__cxx_init_captures__)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(__cxx_generic_lambdas__)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
|
||||
// clang < 3.5 has a defect with dependent type, like following.
|
||||
//
|
||||
// template <class T>
|
||||
// constexpr typename enable_if<pred<T> >::type foo(T &)
|
||||
// { } // error: no return statement in constexpr function
|
||||
//
|
||||
// This issue also affects C++11 mode, but C++11 constexpr requires return stmt.
|
||||
// Therefore we don't care such case.
|
||||
//
|
||||
// Note that we can't check Clang version directly as the numbering system changes depending who's
|
||||
// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873)
|
||||
// so instead verify that we have a feature that was introduced at the same time as working C++14
|
||||
// constexpr (generic lambda's in this case):
|
||||
//
|
||||
#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#if !__has_feature(__cxx_return_type_deduction__)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
|
||||
#if !__has_feature(__cxx_variable_templates__)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
||||
|
||||
// Clang 3.9+ in c++1z
|
||||
#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
|
||||
#if __cplusplus < 201103L
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#endif
|
||||
|
||||
#if __cplusplus < 201400
|
||||
// All versions with __cplusplus above this value seem to support this:
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
|
||||
// Unreachable code markup
|
||||
#if defined(__has_builtin)
|
||||
#if __has_builtin(__builtin_unreachable)
|
||||
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Deprecated symbol markup
|
||||
#if __has_attribute(deprecated)
|
||||
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
#endif
|
||||
|
||||
#if (__clang_major__ == 3) && (__clang_minor__ == 0)
|
||||
// Apparently a clang bug:
|
||||
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
#endif
|
||||
|
||||
// Clang has supported the 'unused' attribute since the first release.
|
||||
#define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))
|
||||
|
||||
// Type aliasing hint.
|
||||
#if __has_attribute(__may_alias__)
|
||||
# define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "Clang version " __clang_version__
|
||||
#endif
|
||||
|
||||
// Macro used to identify the Clang compiler.
|
||||
#define BOOST_CLANG 1
|
||||
|
||||
// BOOST_CLANG_VERSION
|
||||
#include <boost/config/compiler/clang_version.hpp>
|
|
@ -0,0 +1,89 @@
|
|||
// Copyright 2021 Peter Dimov
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// https://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#if !defined(__apple_build_version__)
|
||||
|
||||
# define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__ % 100)
|
||||
|
||||
#else
|
||||
# define BOOST_CLANG_REPORTED_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__ % 100)
|
||||
|
||||
// https://en.wikipedia.org/wiki/Xcode#Toolchain_versions
|
||||
|
||||
# if BOOST_CLANG_REPORTED_VERSION >= 150000
|
||||
# define BOOST_CLANG_VERSION 160000
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 140003
|
||||
# define BOOST_CLANG_VERSION 150000
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 140000
|
||||
# define BOOST_CLANG_VERSION 140000
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 130100
|
||||
# define BOOST_CLANG_VERSION 130000
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 130000
|
||||
# define BOOST_CLANG_VERSION 120000
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 120005
|
||||
# define BOOST_CLANG_VERSION 110100
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 120000
|
||||
# define BOOST_CLANG_VERSION 100000
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 110003
|
||||
# define BOOST_CLANG_VERSION 90000
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 110000
|
||||
# define BOOST_CLANG_VERSION 80000
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 100001
|
||||
# define BOOST_CLANG_VERSION 70000
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 100000
|
||||
# define BOOST_CLANG_VERSION 60001
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 90100
|
||||
# define BOOST_CLANG_VERSION 50002
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 90000
|
||||
# define BOOST_CLANG_VERSION 40000
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 80000
|
||||
# define BOOST_CLANG_VERSION 30900
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 70300
|
||||
# define BOOST_CLANG_VERSION 30800
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 70000
|
||||
# define BOOST_CLANG_VERSION 30700
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 60100
|
||||
# define BOOST_CLANG_VERSION 30600
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 60000
|
||||
# define BOOST_CLANG_VERSION 30500
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 50100
|
||||
# define BOOST_CLANG_VERSION 30400
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 50000
|
||||
# define BOOST_CLANG_VERSION 30300
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 40200
|
||||
# define BOOST_CLANG_VERSION 30200
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 30100
|
||||
# define BOOST_CLANG_VERSION 30100
|
||||
|
||||
# elif BOOST_CLANG_REPORTED_VERSION >= 20100
|
||||
# define BOOST_CLANG_VERSION 30000
|
||||
|
||||
# else
|
||||
# define BOOST_CLANG_VERSION 20900
|
||||
|
||||
# endif
|
||||
|
||||
# undef BOOST_CLANG_REPORTED_VERSION
|
||||
#endif
|
|
@ -0,0 +1,385 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// CodeGear C++ compiler setup:
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// last known and checked version is 0x740
|
||||
#if (__CODEGEARC__ > 0x740)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
# pragma message( "boost: Unknown compiler version - please run the configure tests and report the results")
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef __clang__ // Clang enhanced Windows compiler
|
||||
|
||||
# include "clang.hpp"
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
# define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||
|
||||
// This bug has been reported to Embarcadero
|
||||
|
||||
#if defined(BOOST_HAS_INT128)
|
||||
#undef BOOST_HAS_INT128
|
||||
#endif
|
||||
#if defined(BOOST_HAS_FLOAT128)
|
||||
#undef BOOST_HAS_FLOAT128
|
||||
#endif
|
||||
|
||||
// The clang-based compilers can not do 128 atomic exchanges
|
||||
|
||||
#define BOOST_ATOMIC_NO_CMPXCHG16B
|
||||
|
||||
// 32 functions are missing from the current RTL in cwchar, so it really can not be used even if it exists
|
||||
|
||||
# define BOOST_NO_CWCHAR
|
||||
|
||||
# ifndef __MT__ /* If compiling in single-threaded mode, assume there is no CXX11_HDR_ATOMIC */
|
||||
# define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
# endif
|
||||
|
||||
/* temporarily disable this until we can link against fegetround fesetround feholdexcept */
|
||||
|
||||
#define BOOST_NO_FENV_H
|
||||
|
||||
/* Reported this bug to Embarcadero with the latest C++ Builder Rio release */
|
||||
|
||||
#define BOOST_NO_CXX11_HDR_EXCEPTION
|
||||
|
||||
//
|
||||
// check for exception handling support:
|
||||
//
|
||||
#if !defined(_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
||||
// On non-Win32 platforms let the platform config figure this out:
|
||||
#ifdef _WIN32
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
//
|
||||
// __int64:
|
||||
//
|
||||
#if !defined(__STRICT_ANSI__)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
#endif
|
||||
//
|
||||
// all versions have a <dirent.h>:
|
||||
//
|
||||
#if !defined(__STRICT_ANSI__)
|
||||
# define BOOST_HAS_DIRENT_H
|
||||
#endif
|
||||
//
|
||||
// Disable Win32 support in ANSI mode:
|
||||
//
|
||||
# pragma defineonoption BOOST_DISABLE_WIN32 -A
|
||||
//
|
||||
// MSVC compatibility mode does some nasty things:
|
||||
// TODO: look up if this doesn't apply to the whole 12xx range
|
||||
//
|
||||
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
|
||||
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
# define BOOST_NO_VOID_RETURNS
|
||||
#endif
|
||||
//
|
||||
|
||||
*/
|
||||
|
||||
// Specific settings for Embarcadero drivers
|
||||
# define BOOST_EMBTC __CODEGEARC__
|
||||
# define BOOST_EMBTC_FULL_VER ((__clang_major__ << 16) | \
|
||||
(__clang_minor__ << 8) | \
|
||||
__clang_patchlevel__ )
|
||||
|
||||
// Detecting which Embarcadero driver is being used
|
||||
#if defined(BOOST_EMBTC)
|
||||
# if defined(_WIN64)
|
||||
# define BOOST_EMBTC_WIN64 1
|
||||
# define BOOST_EMBTC_WINDOWS 1
|
||||
# ifndef BOOST_USE_WINDOWS_H
|
||||
# define BOOST_USE_WINDOWS_H
|
||||
# endif
|
||||
# elif defined(_WIN32)
|
||||
# define BOOST_EMBTC_WIN32C 1
|
||||
# define BOOST_EMBTC_WINDOWS 1
|
||||
# ifndef BOOST_USE_WINDOWS_H
|
||||
# define BOOST_USE_WINDOWS_H
|
||||
# endif
|
||||
# elif defined(__APPLE__) && defined(__arm__)
|
||||
# define BOOST_EMBTC_IOSARM 1
|
||||
# define BOOST_EMBTC_IOS 1
|
||||
# elif defined(__APPLE__) && defined(__aarch64__)
|
||||
# define BOOST_EMBTC_IOSARM64 1
|
||||
# define BOOST_EMBTC_IOS 1
|
||||
# elif defined(__ANDROID__) && defined(__arm__)
|
||||
# define BOOST_EMBTC_AARM 1
|
||||
# define BOOST_EMBTC_ANDROID 1
|
||||
# elif
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown Embarcadero driver"
|
||||
# else
|
||||
# warning "Unknown Embarcadero driver"
|
||||
# endif /* defined(BOOST_ASSERT_CONFIG) */
|
||||
# endif
|
||||
#endif /* defined(BOOST_EMBTC) */
|
||||
|
||||
#if defined(BOOST_EMBTC_WINDOWS)
|
||||
|
||||
#if !defined(_chdir)
|
||||
#define _chdir(x) chdir(x)
|
||||
#endif
|
||||
|
||||
#if !defined(_dup2)
|
||||
#define _dup2(x,y) dup2(x,y)
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
# undef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "Embarcadero-Clang C++ version " BOOST_STRINGIZE(__CODEGEARC__) " clang: " __clang_version__
|
||||
// # define __CODEGEARC_CLANG__ __CODEGEARC__
|
||||
// # define __EMBARCADERO_CLANG__ __CODEGEARC__
|
||||
// # define __BORLANDC_CLANG__ __BORLANDC__
|
||||
|
||||
#else // #if !defined(__clang__)
|
||||
|
||||
# define BOOST_CODEGEARC __CODEGEARC__
|
||||
# define BOOST_BORLANDC __BORLANDC__
|
||||
|
||||
#if !defined( BOOST_WITH_CODEGEAR_WARNINGS )
|
||||
// these warnings occur frequently in optimized template code
|
||||
# pragma warn -8004 // var assigned value, but never used
|
||||
# pragma warn -8008 // condition always true/false
|
||||
# pragma warn -8066 // dead code can never execute
|
||||
# pragma warn -8104 // static members with ctors not threadsafe
|
||||
# pragma warn -8105 // reference member in class without ctors
|
||||
#endif
|
||||
|
||||
// CodeGear C++ Builder 2009
|
||||
#if (__CODEGEARC__ <= 0x613)
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
# define BOOST_NO_PRIVATE_IN_AGGREGATE
|
||||
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
||||
// we shouldn't really need this - but too many things choke
|
||||
// without it, this needs more investigation:
|
||||
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
# define BOOST_SP_NO_SP_CONVERTIBLE
|
||||
#endif
|
||||
|
||||
// CodeGear C++ Builder 2010
|
||||
#if (__CODEGEARC__ <= 0x621)
|
||||
# define BOOST_NO_TYPENAME_WITH_CTOR // Cannot use typename keyword when making temporaries of a dependant type
|
||||
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# define BOOST_NO_NESTED_FRIENDSHIP // TC1 gives nested classes access rights as any other member
|
||||
# define BOOST_NO_USING_TEMPLATE
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
// Temporary hack, until specific MPL preprocessed headers are generated
|
||||
# define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
|
||||
|
||||
// CodeGear has not yet completely implemented value-initialization, for
|
||||
// example for array types, as I reported in 2010: Embarcadero Report 83751,
|
||||
// "Value-initialization: arrays should have each element value-initialized",
|
||||
// http://qc.embarcadero.com/wc/qcmain.aspx?d=83751
|
||||
// Last checked version: Embarcadero C++ 6.21
|
||||
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
|
||||
// (Niels Dekker, LKEB, April 2010)
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
|
||||
# if defined(NDEBUG) && defined(__cplusplus)
|
||||
// fix broken <cstring> so that Boost.test works:
|
||||
# include <cstring>
|
||||
# undef strcmp
|
||||
# endif
|
||||
// fix broken errno declaration:
|
||||
# include <errno.h>
|
||||
# ifndef errno
|
||||
# define errno errno
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
// Reportedly, #pragma once is supported since C++ Builder 2010
|
||||
#if (__CODEGEARC__ >= 0x620)
|
||||
# define BOOST_HAS_PRAGMA_ONCE
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_FENV_H
|
||||
|
||||
//
|
||||
// C++0x macros:
|
||||
//
|
||||
#if (__CODEGEARC__ <= 0x620)
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#else
|
||||
#define BOOST_HAS_STATIC_ASSERT
|
||||
#endif
|
||||
#define BOOST_HAS_CHAR16_T
|
||||
#define BOOST_HAS_CHAR32_T
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
// #define BOOST_HAS_ALIGNOF
|
||||
#define BOOST_HAS_DECLTYPE
|
||||
#define BOOST_HAS_EXPLICIT_CONVERSION_OPS
|
||||
// #define BOOST_HAS_RVALUE_REFS
|
||||
#define BOOST_HAS_SCOPED_ENUM
|
||||
// #define BOOST_HAS_STATIC_ASSERT
|
||||
#define BOOST_HAS_STD_TYPE_TRAITS
|
||||
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
#define BOOST_NO_CXX11_OVERRIDE
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// C++17
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
|
||||
#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#endif
|
||||
|
||||
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
||||
|
||||
//
|
||||
// TR1 macros:
|
||||
//
|
||||
#define BOOST_HAS_TR1_HASH
|
||||
#define BOOST_HAS_TR1_TYPE_TRAITS
|
||||
#define BOOST_HAS_TR1_UNORDERED_MAP
|
||||
#define BOOST_HAS_TR1_UNORDERED_SET
|
||||
|
||||
#define BOOST_HAS_MACRO_USE_FACET
|
||||
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
|
||||
// On non-Win32 platforms let the platform config figure this out:
|
||||
#ifdef _WIN32
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
//
|
||||
// __int64:
|
||||
//
|
||||
#if !defined(__STRICT_ANSI__)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
#endif
|
||||
//
|
||||
// check for exception handling support:
|
||||
//
|
||||
#if !defined(_CPPUNWIND) && !defined(BOOST_CPPUNWIND) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
//
|
||||
// all versions have a <dirent.h>:
|
||||
//
|
||||
#if !defined(__STRICT_ANSI__)
|
||||
# define BOOST_HAS_DIRENT_H
|
||||
#endif
|
||||
//
|
||||
// all versions support __declspec:
|
||||
//
|
||||
#if defined(__STRICT_ANSI__)
|
||||
// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
|
||||
# define BOOST_SYMBOL_EXPORT
|
||||
#endif
|
||||
//
|
||||
// ABI fixing headers:
|
||||
//
|
||||
#ifndef BOOST_ABI_PREFIX
|
||||
# define BOOST_ABI_PREFIX "boost/config/abi/borland_prefix.hpp"
|
||||
#endif
|
||||
#ifndef BOOST_ABI_SUFFIX
|
||||
# define BOOST_ABI_SUFFIX "boost/config/abi/borland_suffix.hpp"
|
||||
#endif
|
||||
//
|
||||
// Disable Win32 support in ANSI mode:
|
||||
//
|
||||
# pragma defineonoption BOOST_DISABLE_WIN32 -A
|
||||
//
|
||||
// MSVC compatibility mode does some nasty things:
|
||||
// TODO: look up if this doesn't apply to the whole 12xx range
|
||||
//
|
||||
#if defined(_MSC_VER) && (_MSC_VER <= 1200)
|
||||
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
# define BOOST_NO_VOID_RETURNS
|
||||
#endif
|
||||
|
||||
#define BOOST_COMPILER "CodeGear C++ version " BOOST_STRINGIZE(__CODEGEARC__)
|
||||
|
||||
#endif // #if !defined(__clang__)
|
|
@ -0,0 +1,59 @@
|
|||
// (C) Copyright John Maddock 2001.
|
||||
// (C) Copyright Douglas Gregor 2001.
|
||||
// (C) Copyright Peter Dimov 2001.
|
||||
// (C) Copyright Aleksey Gurtovoy 2003.
|
||||
// (C) Copyright Beman Dawes 2003.
|
||||
// (C) Copyright Jens Maurer 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Comeau C++ compiler setup:
|
||||
|
||||
#include <boost/config/compiler/common_edg.hpp>
|
||||
|
||||
#if (__COMO_VERSION__ <= 4245)
|
||||
|
||||
# if defined(_MSC_VER) && _MSC_VER <= 1300
|
||||
# if _MSC_VER > 100
|
||||
// only set this in non-strict mode:
|
||||
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
# endif
|
||||
# endif
|
||||
|
||||
// Void returns don't work when emulating VC 6 (Peter Dimov)
|
||||
// TODO: look up if this doesn't apply to the whole 12xx range
|
||||
# if defined(_MSC_VER) && (_MSC_VER < 1300)
|
||||
# define BOOST_NO_VOID_RETURNS
|
||||
# endif
|
||||
|
||||
#endif // version 4245
|
||||
|
||||
//
|
||||
// enable __int64 support in VC emulation mode
|
||||
//
|
||||
# if defined(_MSC_VER) && (_MSC_VER >= 1200)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
# endif
|
||||
|
||||
#define BOOST_COMPILER "Comeau compiler version " BOOST_STRINGIZE(__COMO_VERSION__)
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't know Comeau prior to version 4245:
|
||||
#if __COMO_VERSION__ < 4245
|
||||
# error "Compiler not configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 4245:
|
||||
#if (__COMO_VERSION__ > 4245)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,183 @@
|
|||
// (C) Copyright John Maddock 2001 - 2002.
|
||||
// (C) Copyright Jens Maurer 2001.
|
||||
// (C) Copyright David Abrahams 2002.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// (C) Copyright Markus Schoepflin 2005.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
//
|
||||
// Options common to all edg based compilers.
|
||||
//
|
||||
// This is included from within the individual compiler mini-configs.
|
||||
|
||||
#ifndef __EDG_VERSION__
|
||||
# error This file requires that __EDG_VERSION__ be defined.
|
||||
#endif
|
||||
|
||||
#if (__EDG_VERSION__ <= 238)
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# define BOOST_NO_SFINAE
|
||||
#endif
|
||||
|
||||
#if (__EDG_VERSION__ <= 240)
|
||||
# define BOOST_NO_VOID_RETURNS
|
||||
#endif
|
||||
|
||||
#if (__EDG_VERSION__ <= 241) && !defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)
|
||||
# define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
|
||||
#endif
|
||||
|
||||
#if (__EDG_VERSION__ <= 244) && !defined(BOOST_NO_TEMPLATE_TEMPLATES)
|
||||
# define BOOST_NO_TEMPLATE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if (__EDG_VERSION__ < 300) && !defined(BOOST_NO_IS_ABSTRACT)
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
#endif
|
||||
|
||||
#if (__EDG_VERSION__ <= 303) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
|
||||
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
#endif
|
||||
|
||||
// See also kai.hpp which checks a Kai-specific symbol for EH
|
||||
# if !defined(__KCC) && !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
# endif
|
||||
|
||||
# if !defined(__NO_LONG_LONG)
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
# else
|
||||
# define BOOST_NO_LONG_LONG
|
||||
# endif
|
||||
|
||||
// Not sure what version was the first to support #pragma once, but
|
||||
// different EDG-based compilers (e.g. Intel) supported it for ages.
|
||||
// Add a proper version check if it causes problems.
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See above for BOOST_NO_LONG_LONG
|
||||
//
|
||||
#if (__EDG_VERSION__ < 310)
|
||||
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#endif
|
||||
#if (__EDG_VERSION__ <= 310)
|
||||
// No support for initializer lists
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#endif
|
||||
#if (__EDG_VERSION__ < 400)
|
||||
# define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
#define BOOST_NO_CXX11_OVERRIDE
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
|
||||
//__cpp_decltype 200707 possibly?
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
|
||||
#if !defined(__cpp_unicode_characters) || (__cpp_unicode_characters < 200704)
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
#endif
|
||||
#if !defined(__cpp_unicode_literals) || (__cpp_unicode_literals < 200710)
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_user_defined_literals) || (__cpp_user_defined_literals < 200809)
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_variadic_templates) || (__cpp_variadic_templates < 200704)
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 200907)
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_lambdas) || (__cpp_lambdas < 200907)
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_range_based_for) || (__cpp_range_based_for < 200710)
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#endif
|
||||
#if !defined(__cpp_raw_strings) || (__cpp_raw_strings < 200610)
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#endif
|
||||
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// C++17
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#endif
|
||||
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#ifdef c_plusplus
|
||||
// EDG has "long long" in non-strict mode
|
||||
// However, some libraries have insufficient "long long" support
|
||||
// #define BOOST_HAS_LONG_LONG
|
||||
#endif
|
|
@ -0,0 +1,19 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Tru64 C++ compiler setup (now HP):
|
||||
|
||||
#define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER)
|
||||
|
||||
#include <boost/config/compiler/common_edg.hpp>
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// Nothing to do here?
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,446 @@
|
|||
// Copyright 2011 John Maddock
|
||||
// Copyright 2013, 2017-2018 Cray, Inc.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Cray C++ compiler setup.
|
||||
//
|
||||
// There are a few parameters that affect the macros defined in this file:
|
||||
//
|
||||
// - What version of CCE (Cray Compiling Environment) are we running? This
|
||||
// comes from the '_RELEASE_MAJOR', '_RELEASE_MINOR', and
|
||||
// '_RELEASE_PATCHLEVEL' macros.
|
||||
// - What C++ standards conformance level are we using (e.g. '-h
|
||||
// std=c++14')? This comes from the '__cplusplus' macro.
|
||||
// - Are we using GCC extensions ('-h gnu' or '-h nognu')? If we have '-h
|
||||
// gnu' then CCE emulates GCC, and the macros '__GNUC__',
|
||||
// '__GNUC_MINOR__', and '__GNUC_PATCHLEVEL__' are defined.
|
||||
//
|
||||
// This file is organized as follows:
|
||||
//
|
||||
// - Verify that the combination of parameters listed above is supported.
|
||||
// If we have an unsupported combination, we abort with '#error'.
|
||||
// - Establish baseline values for all Boost macros.
|
||||
// - Apply changes to the baseline macros based on compiler version. These
|
||||
// changes are cummulative so each version section only describes the
|
||||
// changes since the previous version.
|
||||
// - Within each version section, we may also apply changes based on
|
||||
// other parameters (i.e. C++ standards conformance level and GCC
|
||||
// extensions).
|
||||
//
|
||||
// To test changes to this file:
|
||||
//
|
||||
// ```
|
||||
// module load cce/8.6.5 # Pick the version you want to test.
|
||||
// cd boost/libs/config/test/all
|
||||
// b2 -j 8 toolset=cray cxxstd=03 cxxstd=11 cxxstd=14 cxxstd-dialect=gnu linkflags=-lrt
|
||||
// ```
|
||||
// Note: Using 'cxxstd-dialect=iso' is not supported at this time (the
|
||||
// tests run, but many tests fail).
|
||||
//
|
||||
// Note: 'linkflags=-lrt' is needed in Cray Linux Environment. Otherwise
|
||||
// you get an 'undefined reference to clock_gettime' error.
|
||||
//
|
||||
// Note: If a test '*_fail.cpp' file compiles, but fails to run, then it is
|
||||
// reported as a defect. However, this is not actually a defect. This is an
|
||||
// area where the test system is somewhat broken. Tests that are failing
|
||||
// because of this problem are noted in the comments.
|
||||
//
|
||||
// Pay attention to the macro definitions for the macros you wish to
|
||||
// modify. For example, only macros categorized as compiler macros should
|
||||
// appear in this file; platform macros should not appear in this file.
|
||||
// Also, some macros have to be defined to specific values; it is not
|
||||
// always enough to define or undefine a macro.
|
||||
//
|
||||
// Macro definitions are available in the source code at:
|
||||
//
|
||||
// `boost/libs/config/doc/html/boost_config/boost_macro_reference.html`
|
||||
//
|
||||
// Macro definitions are also available online at:
|
||||
//
|
||||
// http://www.boost.org/doc/libs/master/libs/config/doc/html/boost_config/boost_macro_reference.html
|
||||
//
|
||||
// Typically, if you enable a feature, and the tests pass, then you have
|
||||
// nothing to worry about. However, it's sometimes hard to figure out if a
|
||||
// disabled feature needs to stay disabled. To get a list of disabled
|
||||
// features, run 'b2' in 'boost/libs/config/checks'. These are the macros
|
||||
// you should pay attention to (in addition to macros that cause test
|
||||
// failures).
|
||||
|
||||
////
|
||||
//// Front matter
|
||||
////
|
||||
|
||||
// In a developer build of the Cray compiler (i.e. a compiler built by a
|
||||
// Cray employee), the release patch level is reported as "x". This gives
|
||||
// versions that look like e.g. "8.6.x".
|
||||
//
|
||||
// To accomplish this, the the Cray compiler preprocessor inserts:
|
||||
//
|
||||
// #define _RELEASE_PATCHLEVEL x
|
||||
//
|
||||
// If we are using a developer build of the compiler, we want to use the
|
||||
// configuration macros for the most recent patch level of the release. To
|
||||
// accomplish this, we'll pretend that _RELEASE_PATCHLEVEL is 99.
|
||||
//
|
||||
// However, it's difficult to detect if _RELEASE_PATCHLEVEL is x. We must
|
||||
// consider that the x will be expanded if x is defined as a macro
|
||||
// elsewhere. For example, imagine if someone put "-D x=3" on the command
|
||||
// line, and _RELEASE_PATCHLEVEL is x. Then _RELEASE_PATCHLEVEL would
|
||||
// expand to 3, and we could not distinguish it from an actual
|
||||
// _RELEASE_PATCHLEVEL of 3. This problem only affects developer builds; in
|
||||
// production builds, _RELEASE_PATCHLEVEL is always an integer.
|
||||
//
|
||||
// IMPORTANT: In developer builds, if x is defined as a macro, you will get
|
||||
// an incorrect configuration. The behavior in this case is undefined.
|
||||
//
|
||||
// Even if x is not defined, we have to use some trickery to detect if
|
||||
// _RELEASE_PATCHLEVEL is x. First we define BOOST_CRAY_x to some arbitrary
|
||||
// magic value, 9867657. Then we use BOOST_CRAY_APPEND to append the
|
||||
// expanded value of _RELEASE_PATCHLEVEL to the string "BOOST_CRAY_".
|
||||
//
|
||||
// - If _RELEASE_PATCHLEVEL is undefined, we get "BOOST_CRAY_".
|
||||
// - If _RELEASE_PATCHLEVEL is 5, we get "BOOST_CRAY_5".
|
||||
// - If _RELEASE_PATCHLEVEL is x (and x is not defined) we get
|
||||
// "BOOST_CRAY_x":
|
||||
//
|
||||
// Then we check if BOOST_CRAY_x is equal to the output of
|
||||
// BOOST_CRAY_APPEND. In other words, the output of BOOST_CRAY_APPEND is
|
||||
// treated as a macro name, and expanded again. If we can safely assume
|
||||
// that BOOST_CRAY_ is not a macro defined as our magic number, and
|
||||
// BOOST_CRAY_5 is not a macro defined as our magic number, then the only
|
||||
// way the equality test can pass is if _RELEASE_PATCHLEVEL expands to x.
|
||||
//
|
||||
// So, that is how we detect if we are using a developer build of the Cray
|
||||
// compiler.
|
||||
|
||||
#define BOOST_CRAY_x 9867657 // Arbitrary number
|
||||
#define BOOST_CRAY_APPEND(MACRO) BOOST_CRAY_APPEND_INTERNAL(MACRO)
|
||||
#define BOOST_CRAY_APPEND_INTERNAL(MACRO) BOOST_CRAY_##MACRO
|
||||
|
||||
#if BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL)
|
||||
|
||||
// This is a developer build.
|
||||
//
|
||||
// - _RELEASE_PATCHLEVEL is defined as x, and x is not defined as a macro.
|
||||
|
||||
// Pretend _RELEASE_PATCHLEVEL is 99, so we get the configuration for the
|
||||
// most recent patch level in this release.
|
||||
|
||||
#define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + 99)
|
||||
|
||||
#else
|
||||
|
||||
// This is a production build.
|
||||
//
|
||||
// _RELEASE_PATCHLEVEL is not defined as x, or x is defined as a macro.
|
||||
|
||||
#define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + _RELEASE_PATCHLEVEL)
|
||||
|
||||
#endif // BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL)
|
||||
|
||||
#undef BOOST_CRAY_APPEND_INTERNAL
|
||||
#undef BOOST_CRAY_APPEND
|
||||
#undef BOOST_CRAY_x
|
||||
|
||||
|
||||
#ifdef __GNUC__
|
||||
# define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "Cray C++ version " BOOST_STRINGIZE(_RELEASE_MAJOR) "." BOOST_STRINGIZE(_RELEASE_MINOR) "." BOOST_STRINGIZE(_RELEASE_PATCHLEVEL)
|
||||
#endif
|
||||
|
||||
// Since the Cray compiler defines '__GNUC__', we have to emulate some
|
||||
// additional GCC macros in order to make everything work.
|
||||
//
|
||||
// FIXME: Perhaps Cray should fix the compiler to define these additional
|
||||
// macros for GCC emulation?
|
||||
|
||||
#if __cplusplus >= 201103L && defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define __GXX_EXPERIMENTAL_CXX0X__ 1
|
||||
#endif
|
||||
|
||||
////
|
||||
//// Parameter validation
|
||||
////
|
||||
|
||||
// FIXME: Do we really need to support compilers before 8.5? Do they pass
|
||||
// the Boost.Config tests?
|
||||
|
||||
#if BOOST_CRAY_VERSION < 80000
|
||||
# error "Boost is not configured for Cray compilers prior to version 8, please try the configure script."
|
||||
#endif
|
||||
|
||||
// We only support recent EDG based compilers.
|
||||
|
||||
#ifndef __EDG__
|
||||
# error "Unsupported Cray compiler, please try running the configure script."
|
||||
#endif
|
||||
|
||||
////
|
||||
//// Baseline values
|
||||
////
|
||||
|
||||
#include <boost/config/compiler/common_edg.hpp>
|
||||
|
||||
#define BOOST_HAS_NRVO
|
||||
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
#define BOOST_NO_CXX11_OVERRIDE
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
|
||||
//#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
|
||||
#define BOOST_MATH_DISABLE_STD_FPCLASSIFY
|
||||
//#define BOOST_HAS_FPCLASSIFY
|
||||
|
||||
#define BOOST_SP_USE_PTHREADS
|
||||
#define BOOST_AC_USE_PTHREADS
|
||||
|
||||
//
|
||||
// Everything that follows is working around what are thought to be
|
||||
// compiler shortcomings. Revist all of these regularly.
|
||||
//
|
||||
|
||||
//#define BOOST_USE_ENUM_STATIC_ASSERT
|
||||
//#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS //(this may be implied by the previous #define
|
||||
|
||||
// These constants should be provided by the compiler.
|
||||
|
||||
#ifndef __ATOMIC_RELAXED
|
||||
#define __ATOMIC_RELAXED 0
|
||||
#define __ATOMIC_CONSUME 1
|
||||
#define __ATOMIC_ACQUIRE 2
|
||||
#define __ATOMIC_RELEASE 3
|
||||
#define __ATOMIC_ACQ_REL 4
|
||||
#define __ATOMIC_SEQ_CST 5
|
||||
#endif
|
||||
|
||||
////
|
||||
//// Version changes
|
||||
////
|
||||
|
||||
//
|
||||
// 8.5.0
|
||||
//
|
||||
|
||||
#if BOOST_CRAY_VERSION >= 80500
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
|
||||
#undef BOOST_HAS_NRVO
|
||||
#undef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
#undef BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#undef BOOST_NO_CXX11_CHAR16_T
|
||||
#undef BOOST_NO_CXX11_CHAR32_T
|
||||
#undef BOOST_NO_CXX11_CONSTEXPR
|
||||
#undef BOOST_NO_CXX11_DECLTYPE
|
||||
#undef BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#undef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#undef BOOST_NO_CXX11_FINAL
|
||||
#undef BOOST_NO_CXX11_OVERRIDE
|
||||
#undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#undef BOOST_NO_CXX11_LAMBDAS
|
||||
#undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#undef BOOST_NO_CXX11_NOEXCEPT
|
||||
#undef BOOST_NO_CXX11_NULLPTR
|
||||
#undef BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#undef BOOST_NO_CXX11_RAW_LITERALS
|
||||
#undef BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#undef BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#undef BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#undef BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#undef BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#undef BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#undef BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#undef BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#undef BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#undef BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#undef BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
#undef BOOST_NO_SFINAE_EXPR
|
||||
#undef BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#undef BOOST_MATH_DISABLE_STD_FPCLASSIFY
|
||||
#undef BOOST_SP_USE_PTHREADS
|
||||
#undef BOOST_AC_USE_PTHREADS
|
||||
|
||||
#define BOOST_HAS_VARIADIC_TMPL
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
|
||||
#define BOOST_HAS_TR1_COMPLEX_OVERLOADS
|
||||
#define BOOST_HAS_STDINT_H
|
||||
#define BOOST_HAS_STATIC_ASSERT
|
||||
#define BOOST_HAS_SIGACTION
|
||||
#define BOOST_HAS_SCHED_YIELD
|
||||
#define BOOST_HAS_RVALUE_REFS
|
||||
#define BOOST_HAS_PTHREADS
|
||||
#define BOOST_HAS_PTHREAD_YIELD
|
||||
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
#define BOOST_HAS_PARTIAL_STD_ALLOCATOR
|
||||
#define BOOST_HAS_NRVO
|
||||
#define BOOST_HAS_NL_TYPES_H
|
||||
#define BOOST_HAS_NANOSLEEP
|
||||
#define BOOST_NO_CXX11_SMART_PTR
|
||||
#define BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||
#define BOOST_NO_CXX14_CONSTEXPR
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
#define BOOST_HAS_FLOAT128
|
||||
|
||||
#if __cplusplus < 201402L
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#endif // __cplusplus < 201402L
|
||||
|
||||
#endif // __cplusplus >= 201103L
|
||||
|
||||
#endif // BOOST_CRAY_VERSION >= 80500
|
||||
|
||||
//
|
||||
// 8.6.4
|
||||
// (versions prior to 8.6.5 do not define _RELEASE_PATCHLEVEL)
|
||||
//
|
||||
|
||||
#if BOOST_CRAY_VERSION >= 80600
|
||||
|
||||
#if __cplusplus >= 199711L
|
||||
#define BOOST_HAS_FLOAT128
|
||||
#define BOOST_HAS_PTHREAD_YIELD // This is a platform macro, but it improves test results.
|
||||
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION // This is correct. Test compiles, but fails to run.
|
||||
#undef BOOST_NO_CXX11_CHAR16_T
|
||||
#undef BOOST_NO_CXX11_CHAR32_T
|
||||
#undef BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#undef BOOST_NO_CXX11_FINAL
|
||||
#undef BOOST_NO_CXX11_OVERRIDE
|
||||
#undef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
#undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR // This is correct, even though '*_fail.cpp' test fails.
|
||||
#undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#undef BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
// 'BOOST_NO_DEDUCED_TYPENAME' test is broken. The test files are enabled /
|
||||
// disabled with an '#ifdef BOOST_DEDUCED_TYPENAME'. However,
|
||||
// 'boost/libs/config/include/boost/config/detail/suffix.hpp' ensures that
|
||||
// 'BOOST_DEDUCED_TYPENAME' is always defined (the value it is defined as
|
||||
// depends on 'BOOST_NO_DEDUCED_TYPENAME'). So, modifying
|
||||
// 'BOOST_NO_DEDUCED_TYPENAME' has no effect on which tests are run.
|
||||
//
|
||||
// The 'no_ded_typename_pass.cpp' test should always compile and run
|
||||
// successfully, because 'BOOST_DEDUCED_TYPENAME' must always have an
|
||||
// appropriate value (it's not just something that you turn on or off).
|
||||
// Therefore, if you wish to test changes to 'BOOST_NO_DEDUCED_TYPENAME',
|
||||
// you have to modify 'no_ded_typename_pass.cpp' to unconditionally include
|
||||
// 'boost_no_ded_typename.ipp'.
|
||||
#undef BOOST_NO_DEDUCED_TYPENAME // This is correct. Test is broken.
|
||||
#undef BOOST_NO_SFINAE_EXPR
|
||||
#undef BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif // __cplusplus >= 199711L
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
#undef BOOST_NO_CXX11_ALIGNAS
|
||||
#undef BOOST_NO_CXX11_ALIGNOF
|
||||
#undef BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_HDR_ATOMIC
|
||||
#undef BOOST_NO_CXX11_HDR_FUNCTIONAL
|
||||
#define BOOST_NO_CXX11_HDR_REGEX // This is correct. Test compiles, but fails to run.
|
||||
#undef BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#undef BOOST_NO_CXX11_SMART_PTR
|
||||
#undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#endif // __cplusplus >= 201103L
|
||||
|
||||
#if __cplusplus >= 201402L
|
||||
#undef BOOST_NO_CXX14_CONSTEXPR
|
||||
#define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif // __cplusplus == 201402L
|
||||
|
||||
#endif // BOOST_CRAY_VERSION >= 80600
|
||||
|
||||
//
|
||||
// 8.6.5
|
||||
// (no change from 8.6.4)
|
||||
//
|
||||
|
||||
//
|
||||
// 8.7.0
|
||||
//
|
||||
|
||||
#if BOOST_CRAY_VERSION >= 80700
|
||||
|
||||
#if __cplusplus >= 199711L
|
||||
#endif // __cplusplus >= 199711L
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
#undef BOOST_NO_CXX11_HDR_ATOMIC
|
||||
#undef BOOST_NO_CXX11_HDR_REGEX
|
||||
#endif // __cplusplus >= 201103L
|
||||
|
||||
#if __cplusplus >= 201402L
|
||||
#endif // __cplusplus == 201402L
|
||||
|
||||
#endif // BOOST_CRAY_VERSION >= 80700
|
||||
|
||||
//
|
||||
// Next release
|
||||
//
|
||||
|
||||
#if BOOST_CRAY_VERSION > 80799
|
||||
|
||||
#if __cplusplus >= 199711L
|
||||
#endif // __cplusplus >= 199711L
|
||||
|
||||
#if __cplusplus >= 201103L
|
||||
#endif // __cplusplus >= 201103L
|
||||
|
||||
#if __cplusplus >= 201402L
|
||||
#endif // __cplusplus == 201402L
|
||||
|
||||
#endif // BOOST_CRAY_VERSION > 80799
|
||||
|
||||
////
|
||||
//// Remove temporary macros
|
||||
////
|
||||
|
||||
// I've commented out some '#undef' statements to signify that we purposely
|
||||
// want to keep certain macros.
|
||||
|
||||
//#undef __GXX_EXPERIMENTAL_CXX0X__
|
||||
//#undef BOOST_COMPILER
|
||||
#undef BOOST_GCC_VERSION
|
||||
#undef BOOST_CRAY_VERSION
|
|
@ -0,0 +1,26 @@
|
|||
// (C) Copyright Brian Kuhl 2016.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// Check this is a recent EDG based compiler, otherwise we don't support it here:
|
||||
|
||||
|
||||
#ifndef __EDG_VERSION__
|
||||
# error "Unknown Diab compiler version - please run the configure tests and report the results"
|
||||
#endif
|
||||
|
||||
#include "boost/config/compiler/common_edg.hpp"
|
||||
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS
|
||||
|
||||
#define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
|
||||
#define BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
#define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
|
||||
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_HDR_CODECVT
|
||||
#define BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||
|
||||
#define BOOST_COMPILER "Wind River Diab " BOOST_STRINGIZE(__VERSION_NUMBER__)
|
|
@ -0,0 +1,143 @@
|
|||
// Copyright (C) Christof Meerwald 2003
|
||||
// Copyright (C) Dan Watkins 2003
|
||||
//
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// Digital Mars C++ compiler setup:
|
||||
#define BOOST_COMPILER __DMC_VERSION_STRING__
|
||||
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
|
||||
#if !defined(BOOST_STRICT_CONFIG)
|
||||
#define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
#define BOOST_NO_OPERATORS_IN_NAMESPACE
|
||||
#define BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||
#define BOOST_NO_SFINAE
|
||||
#define BOOST_NO_USING_TEMPLATE
|
||||
#define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
#endif
|
||||
|
||||
//
|
||||
// has macros:
|
||||
#define BOOST_HAS_DIRENT_H
|
||||
#define BOOST_HAS_STDINT_H
|
||||
#define BOOST_HAS_WINTHREADS
|
||||
|
||||
#if (__DMC__ >= 0x847)
|
||||
#define BOOST_HAS_EXPM1
|
||||
#define BOOST_HAS_LOG1P
|
||||
#endif
|
||||
|
||||
//
|
||||
// Is this really the best way to detect whether the std lib is in namespace std?
|
||||
//
|
||||
#ifdef __cplusplus
|
||||
#include <cstddef>
|
||||
#endif
|
||||
#if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
|
||||
# define BOOST_NO_STDC_NAMESPACE
|
||||
#endif
|
||||
|
||||
|
||||
// check for exception handling support:
|
||||
#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
#define BOOST_NO_CXX11_OVERRIDE
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// C++17
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#endif
|
||||
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#if (__DMC__ <= 0x840)
|
||||
#error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is ...:
|
||||
#if (__DMC__ > 0x848)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
|
@ -0,0 +1,383 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Darin Adler 2001 - 2002.
|
||||
// (C) Copyright Jens Maurer 2001 - 2002.
|
||||
// (C) Copyright Beman Dawes 2001 - 2003.
|
||||
// (C) Copyright Douglas Gregor 2002.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Synge Todo 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// GNU C++ compiler setup.
|
||||
|
||||
//
|
||||
// Define BOOST_GCC so we know this is "real" GCC and not some pretender:
|
||||
//
|
||||
#define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
|
||||
#if !defined(__CUDACC__)
|
||||
#define BOOST_GCC BOOST_GCC_VERSION
|
||||
#endif
|
||||
|
||||
#if defined(__GXX_EXPERIMENTAL_CXX0X__) || (__cplusplus >= 201103L)
|
||||
# define BOOST_GCC_CXX11
|
||||
#endif
|
||||
|
||||
#if __GNUC__ == 3
|
||||
# if defined (__PATHSCALE__)
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# endif
|
||||
|
||||
# if __GNUC_MINOR__ < 4
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# endif
|
||||
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#endif
|
||||
#if __GNUC__ < 4
|
||||
//
|
||||
// All problems to gcc-3.x and earlier here:
|
||||
//
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
# ifdef __OPEN64__
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// GCC prior to 3.4 had #pragma once too but it didn't work well with filesystem links
|
||||
#if BOOST_GCC_VERSION >= 30400
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
#endif
|
||||
|
||||
#if BOOST_GCC_VERSION < 40400
|
||||
// Previous versions of GCC did not completely implement value-initialization:
|
||||
// GCC Bug 30111, "Value-initialization of POD base class doesn't initialize
|
||||
// members", reported by Jonathan Wakely in 2006,
|
||||
// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30111 (fixed for GCC 4.4)
|
||||
// GCC Bug 33916, "Default constructor fails to initialize array members",
|
||||
// reported by Michael Elizabeth Chastain in 2007,
|
||||
// http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33916 (fixed for GCC 4.2.4)
|
||||
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
|
||||
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
#endif
|
||||
|
||||
#if !defined(__EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
|
||||
//
|
||||
// Threading support: Turn this on unconditionally here (except for
|
||||
// those platforms where we can know for sure). It will get turned off again
|
||||
// later if no threading API is detected.
|
||||
//
|
||||
#if !defined(__MINGW32__) && !defined(linux) && !defined(__linux) && !defined(__linux__)
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
//
|
||||
// gcc has "long long"
|
||||
// Except on Darwin with standard compliance enabled (-pedantic)
|
||||
// Apple gcc helpfully defines this macro we can query
|
||||
//
|
||||
#if !defined(__DARWIN_NO_LONG_LONG)
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
#endif
|
||||
|
||||
//
|
||||
// gcc implements the named return value optimization since version 3.1
|
||||
//
|
||||
#define BOOST_HAS_NRVO
|
||||
|
||||
// Branch prediction hints
|
||||
#define BOOST_LIKELY(x) __builtin_expect(x, 1)
|
||||
#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
|
||||
|
||||
//
|
||||
// Dynamic shared object (DSO) and dynamic-link library (DLL) support
|
||||
//
|
||||
#if __GNUC__ >= 4
|
||||
# if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__CYGWIN__)
|
||||
// All Win32 development environments, including 64-bit Windows and MinGW, define
|
||||
// _WIN32 or one of its variant spellings. Note that Cygwin is a POSIX environment,
|
||||
// so does not define _WIN32 or its variants, but still supports dllexport/dllimport.
|
||||
# define BOOST_HAS_DECLSPEC
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((__dllexport__))
|
||||
# define BOOST_SYMBOL_IMPORT __attribute__((__dllimport__))
|
||||
# else
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
|
||||
# define BOOST_SYMBOL_IMPORT
|
||||
# endif
|
||||
# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
|
||||
#else
|
||||
// config/platform/win32.hpp will define BOOST_SYMBOL_EXPORT, etc., unless already defined
|
||||
# define BOOST_SYMBOL_EXPORT
|
||||
#endif
|
||||
|
||||
//
|
||||
// RTTI and typeinfo detection is possible post gcc-4.3:
|
||||
//
|
||||
#if BOOST_GCC_VERSION > 40300
|
||||
# ifndef __GXX_RTTI
|
||||
# ifndef BOOST_NO_TYPEID
|
||||
# define BOOST_NO_TYPEID
|
||||
# endif
|
||||
# ifndef BOOST_NO_RTTI
|
||||
# define BOOST_NO_RTTI
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Recent GCC versions have __int128 when in 64-bit mode.
|
||||
//
|
||||
// We disable this if the compiler is really nvcc with C++03 as it
|
||||
// doesn't actually support __int128 as of CUDA_VERSION=7500
|
||||
// even though it defines __SIZEOF_INT128__.
|
||||
// See https://svn.boost.org/trac/boost/ticket/8048
|
||||
// https://svn.boost.org/trac/boost/ticket/11852
|
||||
// Only re-enable this for nvcc if you're absolutely sure
|
||||
// of the circumstances under which it's supported:
|
||||
//
|
||||
#if defined(__CUDACC__)
|
||||
# if defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NVCC_CXX11
|
||||
# else
|
||||
# define BOOST_NVCC_CXX03
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(__SIZEOF_INT128__) && !defined(BOOST_NVCC_CXX03)
|
||||
# define BOOST_HAS_INT128
|
||||
#endif
|
||||
//
|
||||
// Recent GCC versions have a __float128 native type, we need to
|
||||
// include a std lib header to detect this - not ideal, but we'll
|
||||
// be including <cstddef> later anyway when we select the std lib.
|
||||
//
|
||||
// Nevertheless, as of CUDA 7.5, using __float128 with the host
|
||||
// compiler in pre-C++11 mode is still not supported.
|
||||
// See https://svn.boost.org/trac/boost/ticket/11852
|
||||
//
|
||||
#ifdef __cplusplus
|
||||
#include <cstddef>
|
||||
#else
|
||||
#include <stddef.h>
|
||||
#endif
|
||||
#if defined(_GLIBCXX_USE_FLOAT128) && !defined(__STRICT_ANSI__) && !defined(BOOST_NVCC_CXX03)
|
||||
# define BOOST_HAS_FLOAT128
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.3.n and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION >= 40300) && defined(BOOST_GCC_CXX11)
|
||||
// C++0x features are only enabled when -std=c++0x or -std=gnu++0x are
|
||||
// passed on the command line, which in turn defines
|
||||
// __GXX_EXPERIMENTAL_CXX0X__.
|
||||
# define BOOST_HAS_DECLTYPE
|
||||
# define BOOST_HAS_RVALUE_REFS
|
||||
# define BOOST_HAS_STATIC_ASSERT
|
||||
# define BOOST_HAS_VARIADIC_TMPL
|
||||
#else
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.4.n and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40400) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if BOOST_GCC_VERSION < 40500
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
#endif
|
||||
|
||||
// GCC 4.5 forbids declaration of defaulted functions in private or protected sections
|
||||
#if __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ == 5) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.5.0 and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40500) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNOF
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.5.1 and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40501) || !defined(BOOST_GCC_CXX11)
|
||||
// scoped enums have a serious bug in 4.4.0, so define BOOST_NO_CXX11_SCOPED_ENUMS before 4.5.1
|
||||
// See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38064
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.6.n and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40600) || !defined(BOOST_GCC_CXX11)
|
||||
#define BOOST_NO_CXX11_DEFAULTED_MOVES
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.7.n and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40700) || !defined(BOOST_GCC_CXX11)
|
||||
// Note that while constexpr is partly supported in gcc-4.6 it's a
|
||||
// pre-std version with several bugs:
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
# define BOOST_NO_CXX11_FINAL
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
# define BOOST_NO_CXX11_OVERRIDE
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.8.n and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40800) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
# define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.8.1 and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40801) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
|
||||
// C++0x features in 4.9.n and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40900) || !defined(BOOST_GCC_CXX11)
|
||||
// Although alignas support is added in gcc 4.8, it does not accept
|
||||
// dependent constant expressions as an argument until gcc 4.9.
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
#endif
|
||||
|
||||
// C++0x features in 5.1 and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 50100) || !defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
#endif
|
||||
|
||||
// C++14 features in 4.9.0 and later
|
||||
//
|
||||
#if (BOOST_GCC_VERSION < 40900) || (__cplusplus < 201300)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
# if !((BOOST_GCC_VERSION >= 40801) && (BOOST_GCC_VERSION < 40900) && defined(BOOST_GCC_CXX11))
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if (BOOST_GCC_VERSION < 50200) || !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// C++17
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#endif
|
||||
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#if __GNUC__ >= 7
|
||||
# define BOOST_FALLTHROUGH __attribute__((fallthrough))
|
||||
#endif
|
||||
|
||||
#if (__GNUC__ < 11) && defined(__MINGW32__) && !defined(__MINGW64__)
|
||||
// thread_local was broken on mingw for all 32bit compiler releases prior to 11.x, see
|
||||
// https://sourceforge.net/p/mingw-w64/bugs/527/
|
||||
// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83562
|
||||
// Not setting this causes program termination on thread exit.
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#endif
|
||||
|
||||
//
|
||||
// Unused attribute:
|
||||
#if __GNUC__ >= 4
|
||||
# define BOOST_ATTRIBUTE_UNUSED __attribute__((__unused__))
|
||||
#endif
|
||||
|
||||
// Type aliasing hint. Supported since gcc 3.3.
|
||||
#define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
|
||||
// Unreachable code markup
|
||||
#if BOOST_GCC_VERSION >= 40500
|
||||
#define BOOST_UNREACHABLE_RETURN(x) __builtin_unreachable();
|
||||
#endif
|
||||
|
||||
// Deprecated symbol markup
|
||||
#if BOOST_GCC_VERSION >= 40500
|
||||
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
#else
|
||||
#define BOOST_DEPRECATED(msg) __attribute__((deprecated))
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "GNU C++ version " __VERSION__
|
||||
#endif
|
||||
|
||||
// ConceptGCC compiler:
|
||||
// http://www.generic-programming.org/software/ConceptGCC/
|
||||
#ifdef __GXX_CONCEPTS__
|
||||
# define BOOST_HAS_CONCEPTS
|
||||
# define BOOST_COMPILER "ConceptGCC version " __VERSION__
|
||||
#endif
|
||||
|
||||
// versions check:
|
||||
// we don't know gcc prior to version 3.30:
|
||||
#if (BOOST_GCC_VERSION < 30300)
|
||||
# error "Compiler not configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 8.1:
|
||||
#if (BOOST_GCC_VERSION > 80100)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Boost.Config is older than your compiler - please check for an updated Boost release."
|
||||
# else
|
||||
// we don't emit warnings here anymore since there are no defect macros defined for
|
||||
// gcc post 3.4, so any failures are gcc regressions...
|
||||
//# warning "boost: Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
|
@ -0,0 +1,114 @@
|
|||
// (C) Copyright John Maddock 2006.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// GCC-XML C++ compiler setup:
|
||||
|
||||
# if !defined(__GCCXML_GNUC__) || ((__GCCXML_GNUC__ <= 3) && (__GCCXML_GNUC_MINOR__ <= 3))
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# endif
|
||||
|
||||
//
|
||||
// Threading support: Turn this on unconditionally here (except for
|
||||
// those platforms where we can know for sure). It will get turned off again
|
||||
// later if no threading API is detected.
|
||||
//
|
||||
#if !defined(__MINGW32__) && !defined(_MSC_VER) && !defined(linux) && !defined(__linux) && !defined(__linux__)
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
//
|
||||
// gcc has "long long"
|
||||
//
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
|
||||
// C++0x features:
|
||||
//
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
# define BOOST_NO_CXX11_NULLPTR
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
# define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_ALIGNOF
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# define BOOST_NO_CXX11_FINAL
|
||||
# define BOOST_NO_CXX11_OVERRIDE
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
# define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// C++17
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#endif
|
||||
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#define BOOST_COMPILER "GCC-XML C++ version " __GCCXML__
|
||||
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
// (C) Copyright John Maddock 2001.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Greenhills C++ compiler setup:
|
||||
|
||||
#define BOOST_COMPILER "Greenhills C++ version " BOOST_STRINGIZE(__ghs)
|
||||
|
||||
#include <boost/config/compiler/common_edg.hpp>
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Greenhills prior to version 0:
|
||||
#if __ghs < 0
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 0:
|
||||
#if (__ghs > 0)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
@ -0,0 +1,149 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Jens Maurer 2001 - 2003.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Toon Knapen 2003.
|
||||
// (C) Copyright Boris Gubenko 2006 - 2007.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// HP aCC C++ compiler setup:
|
||||
|
||||
#if defined(__EDG__)
|
||||
#include <boost/config/compiler/common_edg.hpp>
|
||||
#endif
|
||||
|
||||
#if (__HP_aCC <= 33100)
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# define BOOST_NO_OPERATORS_IN_NAMESPACE
|
||||
# if !defined(_NAMESPACE_STD)
|
||||
# define BOOST_NO_STD_LOCALE
|
||||
# define BOOST_NO_STRINGSTREAM
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if (__HP_aCC <= 33300)
|
||||
// member templates are sufficiently broken that we disable them for now
|
||||
# define BOOST_NO_MEMBER_TEMPLATES
|
||||
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
# define BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE
|
||||
#endif
|
||||
|
||||
#if (__HP_aCC <= 38000)
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif
|
||||
|
||||
#if (__HP_aCC > 50000) && (__HP_aCC < 60000)
|
||||
# define BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||
# define BOOST_NO_TEMPLATE_TEMPLATES
|
||||
# define BOOST_NO_SWPRINTF
|
||||
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
#endif
|
||||
|
||||
// optional features rather than defects:
|
||||
#if (__HP_aCC >= 33900)
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
|
||||
#endif
|
||||
|
||||
#if (__HP_aCC >= 50000 ) && (__HP_aCC <= 53800 ) || (__HP_aCC < 31300 )
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
|
||||
#endif
|
||||
|
||||
// This macro should not be defined when compiling in strict ansi
|
||||
// mode, but, currently, we don't have the ability to determine
|
||||
// what standard mode we are compiling with. Some future version
|
||||
// of aCC6 compiler will provide predefined macros reflecting the
|
||||
// compilation options, including the standard mode.
|
||||
#if (__HP_aCC >= 60000) || ((__HP_aCC > 38000) && defined(__hpxstd98))
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif
|
||||
|
||||
#define BOOST_COMPILER "HP aCC version " BOOST_STRINGIZE(__HP_aCC)
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support HP aCC prior to version 33000:
|
||||
#if __HP_aCC < 33000
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
|
||||
//
|
||||
// Extended checks for supporting aCC on PA-RISC
|
||||
#if __HP_aCC > 30000 && __HP_aCC < 50000
|
||||
# if __HP_aCC < 38000
|
||||
// versions prior to version A.03.80 not supported
|
||||
# error "Compiler version not supported - version A.03.80 or higher is required"
|
||||
# elif !defined(__hpxstd98)
|
||||
// must compile using the option +hpxstd98 with version A.03.80 and above
|
||||
# error "Compiler option '+hpxstd98' is required for proper support"
|
||||
# endif //PA-RISC
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
|
||||
//
|
||||
#if !defined(__EDG__)
|
||||
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
|
||||
/*
|
||||
See https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443331 and
|
||||
https://forums13.itrc.hp.com/service/forums/questionanswer.do?threadId=1443436
|
||||
*/
|
||||
|
||||
#if (__HP_aCC < 62500) || !defined(HP_CXX0x_SOURCE)
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// last known and checked version for HP-UX/ia64 is 61300
|
||||
// last known and checked version for PA-RISC is 38000
|
||||
#if ((__HP_aCC > 61300) || ((__HP_aCC > 38000) && defined(__hpxstd98)))
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
|
@ -0,0 +1,577 @@
|
|||
// (C) Copyright John Maddock 2001-8.
|
||||
// (C) Copyright Peter Dimov 2001.
|
||||
// (C) Copyright Jens Maurer 2001.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002 - 2003.
|
||||
// (C) Copyright Guillaume Melquiond 2002 - 2003.
|
||||
// (C) Copyright Beman Dawes 2003.
|
||||
// (C) Copyright Martin Wille 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Intel compiler setup:
|
||||
|
||||
#if defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))
|
||||
|
||||
#ifdef _MSC_VER
|
||||
|
||||
#include <boost/config/compiler/visualc.hpp>
|
||||
|
||||
#undef BOOST_MSVC
|
||||
#undef BOOST_MSVC_FULL_VER
|
||||
|
||||
#if (__INTEL_COMPILER >= 1500) && (_MSC_VER >= 1900)
|
||||
//
|
||||
// These appear to be supported, even though VC++ may not support them:
|
||||
//
|
||||
#define BOOST_HAS_EXPM1
|
||||
#define BOOST_HAS_LOG1P
|
||||
#undef BOOST_NO_CXX14_BINARY_LITERALS
|
||||
// This one may be a little risky to enable??
|
||||
#undef BOOST_NO_SFINAE_EXPR
|
||||
|
||||
#endif
|
||||
|
||||
#if (__INTEL_COMPILER <= 1600) && !defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#else // defined(_MSC_VER)
|
||||
|
||||
#include <boost/config/compiler/gcc.hpp>
|
||||
|
||||
#undef BOOST_GCC_VERSION
|
||||
#undef BOOST_GCC_CXX11
|
||||
#undef BOOST_GCC
|
||||
#undef BOOST_FALLTHROUGH
|
||||
|
||||
// Broken in all versions up to 17 (newer versions not tested)
|
||||
#if (__INTEL_COMPILER <= 1700) && !defined(BOOST_NO_CXX14_CONSTEXPR)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#if (__INTEL_COMPILER >= 1800) && (__cplusplus >= 201703)
|
||||
# define BOOST_FALLTHROUGH [[fallthrough]]
|
||||
#endif
|
||||
|
||||
#endif // defined(_MSC_VER)
|
||||
|
||||
#undef BOOST_COMPILER
|
||||
|
||||
#if defined(__INTEL_COMPILER)
|
||||
#if __INTEL_COMPILER == 9999
|
||||
# define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1.
|
||||
#else
|
||||
# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER
|
||||
#endif
|
||||
#elif defined(__ICL)
|
||||
# define BOOST_INTEL_CXX_VERSION __ICL
|
||||
#elif defined(__ICC)
|
||||
# define BOOST_INTEL_CXX_VERSION __ICC
|
||||
#elif defined(__ECC)
|
||||
# define BOOST_INTEL_CXX_VERSION __ECC
|
||||
#endif
|
||||
|
||||
// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x'
|
||||
#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define BOOST_INTEL_STDCXX0X
|
||||
#endif
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
|
||||
# define BOOST_INTEL_STDCXX0X
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
# define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_COMPILER)
|
||||
# if defined(BOOST_INTEL_STDCXX0X)
|
||||
# define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
|
||||
# else
|
||||
# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
# define BOOST_INTEL_WIN BOOST_INTEL
|
||||
#else
|
||||
# define BOOST_INTEL_LINUX BOOST_INTEL
|
||||
#endif
|
||||
|
||||
#else // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))
|
||||
|
||||
#include <boost/config/compiler/common_edg.hpp>
|
||||
|
||||
#if defined(__INTEL_COMPILER)
|
||||
#if __INTEL_COMPILER == 9999
|
||||
# define BOOST_INTEL_CXX_VERSION 1200 // Intel bug in 12.1.
|
||||
#else
|
||||
# define BOOST_INTEL_CXX_VERSION __INTEL_COMPILER
|
||||
#endif
|
||||
#elif defined(__ICL)
|
||||
# define BOOST_INTEL_CXX_VERSION __ICL
|
||||
#elif defined(__ICC)
|
||||
# define BOOST_INTEL_CXX_VERSION __ICC
|
||||
#elif defined(__ECC)
|
||||
# define BOOST_INTEL_CXX_VERSION __ECC
|
||||
#endif
|
||||
|
||||
// Flags determined by comparing output of 'icpc -dM -E' with and without '-std=c++0x'
|
||||
#if (!(defined(_WIN32) || defined(_WIN64)) && defined(__STDC_HOSTED__) && (__STDC_HOSTED__ && (BOOST_INTEL_CXX_VERSION <= 1200))) || defined(__GXX_EXPERIMENTAL_CPP0X__) || defined(__GXX_EXPERIMENTAL_CXX0X__)
|
||||
# define BOOST_INTEL_STDCXX0X
|
||||
#endif
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
|
||||
# define BOOST_INTEL_STDCXX0X
|
||||
#endif
|
||||
|
||||
#ifdef __GNUC__
|
||||
# define BOOST_INTEL_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
|
||||
#endif
|
||||
|
||||
#if !defined(BOOST_COMPILER)
|
||||
# if defined(BOOST_INTEL_STDCXX0X)
|
||||
# define BOOST_COMPILER "Intel C++ C++0x mode version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
|
||||
# else
|
||||
# define BOOST_COMPILER "Intel C++ version " BOOST_STRINGIZE(BOOST_INTEL_CXX_VERSION)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define BOOST_INTEL BOOST_INTEL_CXX_VERSION
|
||||
|
||||
#if defined(_WIN32) || defined(_WIN64)
|
||||
# define BOOST_INTEL_WIN BOOST_INTEL
|
||||
#else
|
||||
# define BOOST_INTEL_LINUX BOOST_INTEL
|
||||
#endif
|
||||
|
||||
#if (BOOST_INTEL_CXX_VERSION <= 600)
|
||||
|
||||
# if defined(_MSC_VER) && (_MSC_VER <= 1300) // added check for <= VC 7 (Peter Dimov)
|
||||
|
||||
// Boost libraries assume strong standard conformance unless otherwise
|
||||
// indicated by a config macro. As configured by Intel, the EDG front-end
|
||||
// requires certain compiler options be set to achieve that strong conformance.
|
||||
// Particularly /Qoption,c,--arg_dep_lookup (reported by Kirk Klobe & Thomas Witt)
|
||||
// and /Zc:wchar_t,forScope. See boost-root/tools/build/intel-win32-tools.jam for
|
||||
// details as they apply to particular versions of the compiler. When the
|
||||
// compiler does not predefine a macro indicating if an option has been set,
|
||||
// this config file simply assumes the option has been set.
|
||||
// Thus BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP will not be defined, even if
|
||||
// the compiler option is not enabled.
|
||||
|
||||
# define BOOST_NO_SWPRINTF
|
||||
# endif
|
||||
|
||||
// Void returns, 64 bit integrals don't work when emulating VC 6 (Peter Dimov)
|
||||
|
||||
# if defined(_MSC_VER) && (_MSC_VER <= 1200)
|
||||
# define BOOST_NO_VOID_RETURNS
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
#if (BOOST_INTEL_CXX_VERSION <= 710) && defined(_WIN32)
|
||||
# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
|
||||
#endif
|
||||
|
||||
// See http://aspn.activestate.com/ASPN/Mail/Message/boost/1614864
|
||||
#if BOOST_INTEL_CXX_VERSION < 600
|
||||
# define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
#else
|
||||
// We should test the macro _WCHAR_T_DEFINED to check if the compiler
|
||||
// supports wchar_t natively. *BUT* there is a problem here: the standard
|
||||
// headers define this macro if they typedef wchar_t. Anyway, we're lucky
|
||||
// because they define it without a value, while Intel C++ defines it
|
||||
// to 1. So we can check its value to see if the macro was defined natively
|
||||
// or not.
|
||||
// Under UNIX, the situation is exactly the same, but the macro _WCHAR_T
|
||||
// is used instead.
|
||||
# if ((_WCHAR_T_DEFINED + 0) == 0) && ((_WCHAR_T + 0) == 0)
|
||||
# define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(__GNUC__) && !defined(BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL)
|
||||
//
|
||||
// Figure out when Intel is emulating this gcc bug
|
||||
// (All Intel versions prior to 9.0.26, and versions
|
||||
// later than that if they are set up to emulate gcc 3.2
|
||||
// or earlier):
|
||||
//
|
||||
# if ((__GNUC__ == 3) && (__GNUC_MINOR__ <= 2)) || (BOOST_INTEL < 900) || (__INTEL_COMPILER_BUILD_DATE < 20050912)
|
||||
# define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
|
||||
# endif
|
||||
#endif
|
||||
#if (defined(__GNUC__) && (__GNUC__ < 4)) || (defined(_WIN32) && (BOOST_INTEL_CXX_VERSION <= 1200)) || (BOOST_INTEL_CXX_VERSION <= 1200)
|
||||
// GCC or VC emulation:
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif
|
||||
//
|
||||
// Verify that we have actually got BOOST_NO_INTRINSIC_WCHAR_T
|
||||
// set correctly, if we don't do this now, we will get errors later
|
||||
// in type_traits code among other things, getting this correct
|
||||
// for the Intel compiler is actually remarkably fragile and tricky:
|
||||
//
|
||||
#ifdef __cplusplus
|
||||
#if defined(BOOST_NO_INTRINSIC_WCHAR_T)
|
||||
#include <cwchar>
|
||||
template< typename T > struct assert_no_intrinsic_wchar_t;
|
||||
template<> struct assert_no_intrinsic_wchar_t<wchar_t> { typedef void type; };
|
||||
// if you see an error here then you need to unset BOOST_NO_INTRINSIC_WCHAR_T
|
||||
// where it is defined above:
|
||||
typedef assert_no_intrinsic_wchar_t<unsigned short>::type assert_no_intrinsic_wchar_t_;
|
||||
#else
|
||||
template< typename T > struct assert_intrinsic_wchar_t;
|
||||
template<> struct assert_intrinsic_wchar_t<wchar_t> {};
|
||||
// if you see an error here then define BOOST_NO_INTRINSIC_WCHAR_T on the command line:
|
||||
template<> struct assert_intrinsic_wchar_t<unsigned short> {};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER+0 >= 1000)
|
||||
# if _MSC_VER >= 1200
|
||||
# define BOOST_HAS_MS_INT64
|
||||
# endif
|
||||
# define BOOST_NO_SWPRINTF
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#elif defined(_WIN32)
|
||||
# define BOOST_DISABLE_WIN32
|
||||
#endif
|
||||
|
||||
// I checked version 6.0 build 020312Z, it implements the NRVO.
|
||||
// Correct this as you find out which version of the compiler
|
||||
// implemented the NRVO first. (Daniel Frey)
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 600)
|
||||
# define BOOST_HAS_NRVO
|
||||
#endif
|
||||
|
||||
// Branch prediction hints
|
||||
// I'm not sure 8.0 was the first version to support these builtins,
|
||||
// update the condition if the version is not accurate. (Andrey Semashev)
|
||||
#if defined(__GNUC__) && BOOST_INTEL_CXX_VERSION >= 800
|
||||
#define BOOST_LIKELY(x) __builtin_expect(x, 1)
|
||||
#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
|
||||
#endif
|
||||
|
||||
// RTTI
|
||||
// __RTTI is the EDG macro
|
||||
// __INTEL_RTTI__ is the Intel macro
|
||||
// __GXX_RTTI is the g++ macro
|
||||
// _CPPRTTI is the MSVC++ macro
|
||||
#if !defined(__RTTI) && !defined(__INTEL_RTTI__) && !defined(__GXX_RTTI) && !defined(_CPPRTTI)
|
||||
|
||||
#if !defined(BOOST_NO_RTTI)
|
||||
# define BOOST_NO_RTTI
|
||||
#endif
|
||||
|
||||
// in MS mode, static typeid works even when RTTI is off
|
||||
#if !defined(_MSC_VER) && !defined(BOOST_NO_TYPEID)
|
||||
# define BOOST_NO_TYPEID
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Intel prior to version 6.0:
|
||||
#if BOOST_INTEL_CXX_VERSION < 600
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
|
||||
// Intel on MacOS requires
|
||||
#if defined(__APPLE__) && defined(__INTEL_COMPILER)
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif
|
||||
|
||||
// Intel on Altix Itanium
|
||||
#if defined(__itanium__) && defined(__INTEL_COMPILER)
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif
|
||||
|
||||
//
|
||||
// An attempt to value-initialize a pointer-to-member may trigger an
|
||||
// internal error on Intel <= 11.1 (last checked version), as was
|
||||
// reported by John Maddock, Intel support issue 589832, May 2010.
|
||||
// Moreover, according to test results from Huang-Vista-x86_32_intel,
|
||||
// intel-vc9-win-11.1 may leave a non-POD array uninitialized, in some
|
||||
// cases when it should be value-initialized.
|
||||
// (Niels Dekker, LKEB, May 2010)
|
||||
// Apparently Intel 12.1 (compiler version number 9999 !!) has the same issue (compiler regression).
|
||||
#if defined(__INTEL_COMPILER)
|
||||
# if (__INTEL_COMPILER <= 1110) || (__INTEL_COMPILER == 9999) || (defined(_WIN32) && (__INTEL_COMPILER < 1600))
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
# endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// Dynamic shared object (DSO) and dynamic-link library (DLL) support
|
||||
//
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 4)
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((visibility("default")))
|
||||
# define BOOST_SYMBOL_IMPORT
|
||||
# define BOOST_SYMBOL_VISIBLE __attribute__((visibility("default")))
|
||||
#endif
|
||||
|
||||
// Type aliasing hint
|
||||
#if defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1300)
|
||||
# define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
// For each feature we need to check both the Intel compiler version,
|
||||
// and the version of MSVC or GCC that we are emulating.
|
||||
// See http://software.intel.com/en-us/articles/c0x-features-supported-by-intel-c-compiler/
|
||||
// for a list of which features were implemented in which Intel releases.
|
||||
//
|
||||
#if defined(BOOST_INTEL_STDCXX0X)
|
||||
// BOOST_NO_CXX11_CONSTEXPR:
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && !defined(_MSC_VER)
|
||||
// Available in earlier Intel versions, but fail our tests:
|
||||
# undef BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
// BOOST_NO_CXX11_NULLPTR:
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
# undef BOOST_NO_CXX11_NULLPTR
|
||||
#endif
|
||||
// BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1210) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_DECLTYPE
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
# undef BOOST_NO_CXX11_DECLTYPE
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1300) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
// This is available from earlier Intel versions, but breaks Filesystem and other libraries:
|
||||
# undef BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1110) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40300)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
# undef BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40200)) && (!defined(_MSC_VER) || (_MSC_VER >= 1400))
|
||||
# undef BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
# undef BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
# undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_CHAR16_T
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
|
||||
# undef BOOST_NO_CXX11_CHAR16_T
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_CHAR32_T
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
|
||||
# undef BOOST_NO_CXX11_CHAR32_T
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
|
||||
# undef BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40501)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
|
||||
// This is available but broken in earlier Intel releases.
|
||||
# undef BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_SFINAE_EXPR
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
|
||||
# undef BOOST_NO_SFINAE_EXPR
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && !defined(_MSC_VER)
|
||||
# undef BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
// This is available in earlier Intel releases, but breaks Multiprecision:
|
||||
# undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_LAMBDAS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 1600))
|
||||
# undef BOOST_NO_CXX11_LAMBDAS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500))
|
||||
# undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
|
||||
# undef BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_RAW_LITERALS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_RAW_LITERALS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40500)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
|
||||
# undef BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_NOEXCEPT
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
|
||||
// Available in earlier Intel release, but generates errors when used with
|
||||
// conditional exception specifications, for example in multiprecision:
|
||||
# undef BOOST_NO_CXX11_NOEXCEPT
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40600)) && (!defined(_MSC_VER) || (_MSC_VER >= 9999))
|
||||
# undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
|
||||
# undef BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_ALIGNAS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1500) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
|
||||
# undef BOOST_NO_CXX11_ALIGNAS
|
||||
# undef BOOST_NO_CXX11_ALIGNOF
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1200) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 180020827))
|
||||
# undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40400)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
|
||||
# undef BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40800)) && (!defined(_MSC_VER) || (_MSC_FULL_VER >= 190021730))
|
||||
# undef BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_FINAL
|
||||
// BOOST_NO_CXX11_OVERRIDE
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 40700)) && (!defined(_MSC_VER) || (_MSC_VER >= 1700))
|
||||
# undef BOOST_NO_CXX11_FINAL
|
||||
# undef BOOST_NO_CXX11_OVERRIDE
|
||||
#endif
|
||||
|
||||
// BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
#if (BOOST_INTEL_CXX_VERSION >= 1400) && (!defined(BOOST_INTEL_GCC_VERSION) || (BOOST_INTEL_GCC_VERSION >= 50100)) && (!defined(_MSC_VER))
|
||||
# undef BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
#endif
|
||||
|
||||
#endif // defined(BOOST_INTEL_STDCXX0X)
|
||||
|
||||
//
|
||||
// Broken in all versions up to 15:
|
||||
#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION <= 1310)
|
||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_INTEL_STDCXX0X) && (BOOST_INTEL_CXX_VERSION == 1400)
|
||||
// A regression in Intel's compiler means that <tuple> seems to be broken in this release as well as <future> :
|
||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||
# define BOOST_NO_CXX11_HDR_TUPLE
|
||||
#endif
|
||||
|
||||
#if (BOOST_INTEL_CXX_VERSION < 1200)
|
||||
//
|
||||
// fenv.h appears not to work with Intel prior to 12.0:
|
||||
//
|
||||
# define BOOST_NO_FENV_H
|
||||
#endif
|
||||
|
||||
// Intel 13.10 fails to access defaulted functions of a base class declared in private or protected sections,
|
||||
// producing the following errors:
|
||||
// error #453: protected function "..." (declared at ...") is not accessible through a "..." pointer or object
|
||||
#if (BOOST_INTEL_CXX_VERSION <= 1310)
|
||||
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER >= 1600)
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
#if defined(__CUDACC__)
|
||||
# if defined(BOOST_GCC_CXX11)
|
||||
# define BOOST_NVCC_CXX11
|
||||
# else
|
||||
# define BOOST_NVCC_CXX03
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(__LP64__) && defined(__GNUC__) && (BOOST_INTEL_CXX_VERSION >= 1310) && !defined(BOOST_NVCC_CXX03)
|
||||
# define BOOST_HAS_INT128
|
||||
#endif
|
||||
|
||||
#endif // defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 1500) && (defined(_MSC_VER) || defined(__GNUC__))
|
||||
//
|
||||
// last known and checked version:
|
||||
#if (BOOST_INTEL_CXX_VERSION > 1700)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Boost.Config is older than your compiler - please check for an updated Boost release."
|
||||
# elif defined(_MSC_VER)
|
||||
//
|
||||
// We don't emit this warning any more, since we have so few
|
||||
// defect macros set anyway (just the one).
|
||||
//
|
||||
//# pragma message("boost: Unknown compiler version - please run the configure tests and report the results")
|
||||
# endif
|
||||
#endif
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
// (C) Copyright John Maddock 2001.
|
||||
// (C) Copyright David Abrahams 2002.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Kai C++ compiler setup:
|
||||
|
||||
#include <boost/config/compiler/common_edg.hpp>
|
||||
|
||||
# if (__KCC_VERSION <= 4001) || !defined(BOOST_STRICT_CONFIG)
|
||||
// at least on Sun, the contents of <cwchar> is not in namespace std
|
||||
# define BOOST_NO_STDC_NAMESPACE
|
||||
# endif
|
||||
|
||||
// see also common_edg.hpp which needs a special check for __KCC
|
||||
# if !defined(_EXCEPTIONS) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
# endif
|
||||
|
||||
//
|
||||
// last known and checked version is 4001:
|
||||
#if (__KCC_VERSION > 4001)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,198 @@
|
|||
// (C) Copyright John Maddock 2001.
|
||||
// (C) Copyright Darin Adler 2001.
|
||||
// (C) Copyright Peter Dimov 2001.
|
||||
// (C) Copyright David Abrahams 2001 - 2002.
|
||||
// (C) Copyright Beman Dawes 2001 - 2003.
|
||||
// (C) Copyright Stefan Slapeta 2004.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Metrowerks C++ compiler setup:
|
||||
|
||||
// locale support is disabled when linking with the dynamic runtime
|
||||
# ifdef _MSL_NO_LOCALE
|
||||
# define BOOST_NO_STD_LOCALE
|
||||
# endif
|
||||
|
||||
# if __MWERKS__ <= 0x2301 // 5.3
|
||||
# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
# define BOOST_NO_POINTER_TO_MEMBER_CONST
|
||||
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
|
||||
# endif
|
||||
|
||||
# if __MWERKS__ <= 0x2401 // 6.2
|
||||
//# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
# endif
|
||||
|
||||
# if(__MWERKS__ <= 0x2407) // 7.x
|
||||
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||
# define BOOST_NO_UNREACHABLE_RETURN_DETECTION
|
||||
# endif
|
||||
|
||||
# if(__MWERKS__ <= 0x3003) // 8.x
|
||||
# define BOOST_NO_SFINAE
|
||||
# endif
|
||||
|
||||
// the "|| !defined(BOOST_STRICT_CONFIG)" part should apply to the last
|
||||
// tested version *only*:
|
||||
# if(__MWERKS__ <= 0x3207) || !defined(BOOST_STRICT_CONFIG) // 9.6
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# endif
|
||||
|
||||
#if !__option(wchar_type)
|
||||
# define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
#endif
|
||||
|
||||
#if !__option(exceptions) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
#if (__INTEL__ && _WIN32) || (__POWERPC__ && macintosh)
|
||||
# if __MWERKS__ == 0x3000
|
||||
# define BOOST_COMPILER_VERSION 8.0
|
||||
# elif __MWERKS__ == 0x3001
|
||||
# define BOOST_COMPILER_VERSION 8.1
|
||||
# elif __MWERKS__ == 0x3002
|
||||
# define BOOST_COMPILER_VERSION 8.2
|
||||
# elif __MWERKS__ == 0x3003
|
||||
# define BOOST_COMPILER_VERSION 8.3
|
||||
# elif __MWERKS__ == 0x3200
|
||||
# define BOOST_COMPILER_VERSION 9.0
|
||||
# elif __MWERKS__ == 0x3201
|
||||
# define BOOST_COMPILER_VERSION 9.1
|
||||
# elif __MWERKS__ == 0x3202
|
||||
# define BOOST_COMPILER_VERSION 9.2
|
||||
# elif __MWERKS__ == 0x3204
|
||||
# define BOOST_COMPILER_VERSION 9.3
|
||||
# elif __MWERKS__ == 0x3205
|
||||
# define BOOST_COMPILER_VERSION 9.4
|
||||
# elif __MWERKS__ == 0x3206
|
||||
# define BOOST_COMPILER_VERSION 9.5
|
||||
# elif __MWERKS__ == 0x3207
|
||||
# define BOOST_COMPILER_VERSION 9.6
|
||||
# else
|
||||
# define BOOST_COMPILER_VERSION __MWERKS__
|
||||
# endif
|
||||
#else
|
||||
# define BOOST_COMPILER_VERSION __MWERKS__
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
|
||||
//
|
||||
#if __MWERKS__ > 0x3206 && __option(rvalue_refs)
|
||||
# define BOOST_HAS_RVALUE_REFS
|
||||
#else
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#endif
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
#define BOOST_NO_CXX11_OVERRIDE
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// C++17
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#endif
|
||||
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#define BOOST_COMPILER "Metrowerks CodeWarrior C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Metrowerks prior to version 5.3:
|
||||
#if __MWERKS__ < 0x2301
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version:
|
||||
#if (__MWERKS__ > 0x3205)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,140 @@
|
|||
// (C) Copyright John Maddock 2001 - 2002.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// MPW C++ compilers setup:
|
||||
|
||||
# if defined(__SC__)
|
||||
# define BOOST_COMPILER "MPW SCpp version " BOOST_STRINGIZE(__SC__)
|
||||
# elif defined(__MRC__)
|
||||
# define BOOST_COMPILER "MPW MrCpp version " BOOST_STRINGIZE(__MRC__)
|
||||
# else
|
||||
# error "Using MPW compiler configuration by mistake. Please update."
|
||||
# endif
|
||||
|
||||
//
|
||||
// MPW 8.90:
|
||||
//
|
||||
#if (MPW_CPLUS <= 0x890) || !defined(BOOST_STRICT_CONFIG)
|
||||
# define BOOST_NO_CV_SPECIALIZATIONS
|
||||
# define BOOST_NO_DEPENDENT_NESTED_DERIVATIONS
|
||||
# define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
|
||||
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
# define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# define BOOST_NO_USING_TEMPLATE
|
||||
|
||||
# define BOOST_NO_CWCHAR
|
||||
# define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
||||
|
||||
# define BOOST_NO_STD_ALLOCATOR /* actually a bug with const reference overloading */
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
|
||||
//
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
#define BOOST_NO_CXX11_OVERRIDE
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// C++17
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#endif
|
||||
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support MPW prior to version 8.9:
|
||||
#if MPW_CPLUS < 0x890
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 0x890:
|
||||
#if (MPW_CPLUS > 0x890)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
// (C) Copyright Eric Jourdanneau, Joel Falcou 2010
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// NVIDIA CUDA C++ compiler setup
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "NVIDIA CUDA C++ Compiler"
|
||||
#endif
|
||||
|
||||
#if defined(__CUDACC_VER_MAJOR__) && defined(__CUDACC_VER_MINOR__) && defined(__CUDACC_VER_BUILD__)
|
||||
# define BOOST_CUDA_VERSION (__CUDACC_VER_MAJOR__ * 1000000 + __CUDACC_VER_MINOR__ * 10000 + __CUDACC_VER_BUILD__)
|
||||
#else
|
||||
// We don't really know what the CUDA version is, but it's definitely before 7.5:
|
||||
# define BOOST_CUDA_VERSION 7000000
|
||||
#endif
|
||||
|
||||
// NVIDIA Specific support
|
||||
// BOOST_GPU_ENABLED : Flag a function or a method as being enabled on the host and device
|
||||
#define BOOST_GPU_ENABLED __host__ __device__
|
||||
|
||||
#if !defined(__clang__) || defined(__NVCC__)
|
||||
// A bug in version 7.0 of CUDA prevents use of variadic templates in some occasions
|
||||
// https://svn.boost.org/trac/boost/ticket/11897
|
||||
// This is fixed in 7.5. As the following version macro was introduced in 7.5 an existance
|
||||
// check is enough to detect versions < 7.5
|
||||
#if BOOST_CUDA_VERSION < 7050000
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
// The same bug is back again in 8.0:
|
||||
#if (BOOST_CUDA_VERSION > 8000000) && (BOOST_CUDA_VERSION < 8010000)
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
// CUDA (8.0) has no constexpr support in msvc mode:
|
||||
#if defined(_MSC_VER) && (BOOST_CUDA_VERSION < 9000000)
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __CUDACC__
|
||||
//
|
||||
// When compiing .cu files, there's a bunch of stuff that doesn't work with msvc:
|
||||
//
|
||||
#if defined(_MSC_VER)
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#endif
|
||||
//
|
||||
// And this one effects the NVCC front end,
|
||||
// See https://svn.boost.org/trac/boost/ticket/13049
|
||||
//
|
||||
#if (BOOST_CUDA_VERSION >= 8000000) && (BOOST_CUDA_VERSION < 8010000)
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,138 @@
|
|||
// (C) Copyright Bryce Lelbach 2011
|
||||
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// PathScale EKOPath C++ Compiler
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "PathScale EKOPath C++ Compiler version " __PATHSCALE__
|
||||
#endif
|
||||
|
||||
#if __PATHCC__ >= 6
|
||||
// PathCC is based on clang, and supports the __has_*() builtins used
|
||||
// to detect features in clang.hpp. Since the clang toolset is much
|
||||
// better maintained, it is more convenient to reuse its definitions.
|
||||
# include "boost/config/compiler/clang.hpp"
|
||||
#elif __PATHCC__ >= 4
|
||||
# define BOOST_MSVC6_MEMBER_TEMPLATES
|
||||
# define BOOST_HAS_UNISTD_H
|
||||
# define BOOST_HAS_STDINT_H
|
||||
# define BOOST_HAS_SIGACTION
|
||||
# define BOOST_HAS_SCHED_YIELD
|
||||
# define BOOST_HAS_THREADS
|
||||
# define BOOST_HAS_PTHREADS
|
||||
# define BOOST_HAS_PTHREAD_YIELD
|
||||
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
# define BOOST_HAS_PARTIAL_STD_ALLOCATOR
|
||||
# define BOOST_HAS_NRVO
|
||||
# define BOOST_HAS_NL_TYPES_H
|
||||
# define BOOST_HAS_NANOSLEEP
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
# define BOOST_HAS_LOG1P
|
||||
# define BOOST_HAS_GETTIMEOFDAY
|
||||
# define BOOST_HAS_EXPM1
|
||||
# define BOOST_HAS_DIRENT_H
|
||||
# define BOOST_HAS_CLOCK_GETTIME
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
# define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
# define BOOST_NO_CXX11_NULLPTR
|
||||
# define BOOST_NO_CXX11_NUMERIC_LIMITS
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
# define BOOST_NO_MS_INT64_NUMERIC_LIMITS
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
# define BOOST_NO_CXX11_HDR_UNORDERED_SET
|
||||
# define BOOST_NO_CXX11_HDR_UNORDERED_MAP
|
||||
# define BOOST_NO_CXX11_HDR_TYPEINDEX
|
||||
# define BOOST_NO_CXX11_HDR_TUPLE
|
||||
# define BOOST_NO_CXX11_HDR_THREAD
|
||||
# define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
|
||||
# define BOOST_NO_CXX11_HDR_REGEX
|
||||
# define BOOST_NO_CXX11_HDR_RATIO
|
||||
# define BOOST_NO_CXX11_HDR_RANDOM
|
||||
# define BOOST_NO_CXX11_HDR_MUTEX
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
# define BOOST_NO_CXX11_HDR_FUTURE
|
||||
# define BOOST_NO_CXX11_HDR_FORWARD_LIST
|
||||
# define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
|
||||
# define BOOST_NO_CXX11_HDR_CODECVT
|
||||
# define BOOST_NO_CXX11_HDR_CHRONO
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_ALIGNOF
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# define BOOST_NO_CXX11_FINAL
|
||||
# define BOOST_NO_CXX11_OVERRIDE
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
# define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// C++17
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#endif
|
||||
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
||||
#endif
|
|
@ -0,0 +1,23 @@
|
|||
// (C) Copyright Noel Belcourt 2007.
|
||||
// Copyright 2017, NVIDIA CORPORATION.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// PGI C++ compiler setup:
|
||||
|
||||
#define BOOST_COMPILER_VERSION __PGIC__##__PGIC_MINOR__
|
||||
#define BOOST_COMPILER "PGI compiler version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
||||
|
||||
// PGI is mostly GNU compatible. So start with that.
|
||||
#include <boost/config/compiler/gcc.hpp>
|
||||
|
||||
// Now adjust for things that are different.
|
||||
|
||||
// __float128 is a typedef, not a distinct type.
|
||||
#undef BOOST_HAS_FLOAT128
|
||||
|
||||
// __int128 is not supported.
|
||||
#undef BOOST_HAS_INT128
|
|
@ -0,0 +1,29 @@
|
|||
// (C) Copyright John Maddock 2001 - 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// SGI C++ compiler setup:
|
||||
|
||||
#define BOOST_COMPILER "SGI Irix compiler version " BOOST_STRINGIZE(_COMPILER_VERSION)
|
||||
|
||||
#include <boost/config/compiler/common_edg.hpp>
|
||||
|
||||
//
|
||||
// Threading support:
|
||||
// Turn this on unconditionally here, it will get turned off again later
|
||||
// if no threading API is detected.
|
||||
//
|
||||
#define BOOST_HAS_THREADS
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
|
||||
#undef BOOST_NO_SWPRINTF
|
||||
#undef BOOST_DEDUCED_TYPENAME
|
||||
|
||||
//
|
||||
// version check:
|
||||
// probably nothing to do here?
|
||||
|
||||
|
|
@ -0,0 +1,222 @@
|
|||
// (C) Copyright John Maddock 2001.
|
||||
// (C) Copyright Jens Maurer 2001 - 2003.
|
||||
// (C) Copyright Peter Dimov 2002.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002 - 2003.
|
||||
// (C) Copyright David Abrahams 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Sun C++ compiler setup:
|
||||
|
||||
# if __SUNPRO_CC <= 0x500
|
||||
# define BOOST_NO_MEMBER_TEMPLATES
|
||||
# define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
|
||||
# endif
|
||||
|
||||
# if (__SUNPRO_CC <= 0x520)
|
||||
//
|
||||
// Sunpro 5.2 and earler:
|
||||
//
|
||||
// although sunpro 5.2 supports the syntax for
|
||||
// inline initialization it often gets the value
|
||||
// wrong, especially where the value is computed
|
||||
// from other constants (J Maddock 6th May 2001)
|
||||
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
|
||||
// Although sunpro 5.2 supports the syntax for
|
||||
// partial specialization, it often seems to
|
||||
// bind to the wrong specialization. Better
|
||||
// to disable it until suppport becomes more stable
|
||||
// (J Maddock 6th May 2001).
|
||||
# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
# endif
|
||||
|
||||
# if (__SUNPRO_CC <= 0x530)
|
||||
// Requesting debug info (-g) with Boost.Python results
|
||||
// in an internal compiler error for "static const"
|
||||
// initialized in-class.
|
||||
// >> Assertion: (../links/dbg_cstabs.cc, line 611)
|
||||
// while processing ../test.cpp at line 0.
|
||||
// (Jens Maurer according to Gottfried Ganssauge 04 Mar 2002)
|
||||
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
|
||||
// SunPro 5.3 has better support for partial specialization,
|
||||
// but breaks when compiling std::less<shared_ptr<T> >
|
||||
// (Jens Maurer 4 Nov 2001).
|
||||
|
||||
// std::less specialization fixed as reported by George
|
||||
// Heintzelman; partial specialization re-enabled
|
||||
// (Peter Dimov 17 Jan 2002)
|
||||
|
||||
//# define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
|
||||
|
||||
// integral constant expressions with 64 bit numbers fail
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# endif
|
||||
|
||||
# if (__SUNPRO_CC < 0x570)
|
||||
# define BOOST_NO_TEMPLATE_TEMPLATES
|
||||
// see http://lists.boost.org/MailArchives/boost/msg47184.php
|
||||
// and http://lists.boost.org/MailArchives/boost/msg47220.php
|
||||
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
# define BOOST_NO_SFINAE
|
||||
# define BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS
|
||||
# endif
|
||||
# if (__SUNPRO_CC <= 0x580)
|
||||
# define BOOST_NO_IS_ABSTRACT
|
||||
# endif
|
||||
|
||||
# if (__SUNPRO_CC <= 0x5100)
|
||||
// Sun 5.10 may not correctly value-initialize objects of
|
||||
// some user defined types, as was reported in April 2010
|
||||
// (CR 6947016), and confirmed by Steve Clamage.
|
||||
// (Niels Dekker, LKEB, May 2010).
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
# endif
|
||||
|
||||
//
|
||||
// Dynamic shared object (DSO) and dynamic-link library (DLL) support
|
||||
//
|
||||
#if __SUNPRO_CC > 0x500
|
||||
# define BOOST_SYMBOL_EXPORT __global
|
||||
# define BOOST_SYMBOL_IMPORT __global
|
||||
# define BOOST_SYMBOL_VISIBLE __global
|
||||
#endif
|
||||
|
||||
// Deprecated symbol markup
|
||||
// Oracle Studio 12.4 supports deprecated attribute with a message; this is the first release that supports the attribute.
|
||||
#if (__SUNPRO_CC >= 0x5130)
|
||||
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
#endif
|
||||
|
||||
#if (__SUNPRO_CC < 0x5130)
|
||||
// C++03 features in 12.4:
|
||||
#define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_ADL_BARRIER
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#endif
|
||||
|
||||
#if (__SUNPRO_CC < 0x5130) || (__cplusplus < 201100)
|
||||
// C++11 only featuires in 12.4:
|
||||
#define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
#define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#define BOOST_NO_CXX11_CHAR16_T
|
||||
#define BOOST_NO_CXX11_CHAR32_T
|
||||
#define BOOST_NO_CXX11_CONSTEXPR
|
||||
#define BOOST_NO_CXX11_DECLTYPE
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
#define BOOST_NO_CXX11_OVERRIDE
|
||||
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
#endif
|
||||
|
||||
#if (__SUNPRO_CC < 0x5140) || (__cplusplus < 201103)
|
||||
#define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304) || (__cplusplus < 201402L)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// C++17
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#endif
|
||||
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
||||
|
||||
// Turn on threading support for Solaris 12.
|
||||
// Ticket #11972
|
||||
#if (__SUNPRO_CC >= 0x5140) && defined(__SunOS_5_12) && !defined(BOOST_HAS_THREADS)
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
#define BOOST_COMPILER "Sun compiler version " BOOST_STRINGIZE(__SUNPRO_CC)
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support sunpro prior to version 4:
|
||||
#if __SUNPRO_CC < 0x400
|
||||
#error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version:
|
||||
#if (__SUNPRO_CC > 0x5150)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Boost.Config is older than your compiler - please check for an updated Boost release."
|
||||
# endif
|
||||
#endif
|
|
@ -0,0 +1,186 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Toon Knapen 2001 - 2003.
|
||||
// (C) Copyright Lie-Quan Lee 2001.
|
||||
// (C) Copyright Markus Schoepflin 2002 - 2003.
|
||||
// (C) Copyright Beman Dawes 2002 - 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Visual Age (IBM) C++ compiler setup:
|
||||
|
||||
#if __IBMCPP__ <= 501
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
# define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
|
||||
#endif
|
||||
|
||||
#if (__IBMCPP__ <= 502)
|
||||
// Actually the compiler supports inclass member initialization but it
|
||||
// requires a definition for the class member and it doesn't recognize
|
||||
// it as an integral constant expression when used as a template argument.
|
||||
# define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
|
||||
# define BOOST_NO_INTEGRAL_INT64_T
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_KEYWORD
|
||||
#endif
|
||||
|
||||
#if (__IBMCPP__ <= 600) || !defined(BOOST_STRICT_CONFIG)
|
||||
# define BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS
|
||||
#endif
|
||||
|
||||
#if (__IBMCPP__ <= 1110)
|
||||
// XL C++ V11.1 and earlier versions may not always value-initialize
|
||||
// a temporary object T(), when T is a non-POD aggregate class type.
|
||||
// Michael Wong (IBM Canada Ltd) has confirmed this issue and gave it
|
||||
// high priority. -- Niels Dekker (LKEB), May 2010.
|
||||
# define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
#endif
|
||||
|
||||
//
|
||||
// On AIX thread support seems to be indicated by _THREAD_SAFE:
|
||||
//
|
||||
#ifdef _THREAD_SAFE
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
#define BOOST_COMPILER "IBM Visual Age version " BOOST_STRINGIZE(__IBMCPP__)
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Visual age prior to version 5:
|
||||
#if __IBMCPP__ < 500
|
||||
#error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
//
|
||||
// last known and checked version is 1210:
|
||||
#if (__IBMCPP__ > 1210)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "boost: Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
// Some versions of the compiler have issues with default arguments on partial specializations
|
||||
#if __IBMCPP__ <= 1010
|
||||
#define BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS
|
||||
#endif
|
||||
|
||||
// Type aliasing hint. Supported since XL C++ 13.1
|
||||
#if (__IBMCPP__ >= 1310)
|
||||
# define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See boost\config\suffix.hpp for BOOST_NO_LONG_LONG
|
||||
//
|
||||
#if ! __IBMCPP_AUTO_TYPEDEDUCTION
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#endif
|
||||
#if ! __IBMCPP_UTF_LITERAL__
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
#endif
|
||||
#if ! __IBMCPP_CONSTEXPR
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
#if ! __IBMCPP_DECLTYPE
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
#else
|
||||
# define BOOST_HAS_DECLTYPE
|
||||
#endif
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#if ! __IBMCPP_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#endif
|
||||
#if ! __IBMCPP_EXTERN_TEMPLATE
|
||||
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
#endif
|
||||
#if ! __IBMCPP_VARIADIC_TEMPLATES
|
||||
// not enabled separately at this time
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#endif
|
||||
#define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#if ! __IBMCPP_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#endif
|
||||
#if ! __IBMCPP_SCOPED_ENUM
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#if ! __IBMCPP_STATIC_ASSERT
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#endif
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#if ! __IBMCPP_VARIADIC_TEMPLATES
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
#if ! __C99_MACRO_WITH_VA_ARGS
|
||||
# define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
#endif
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
#define BOOST_NO_CXX11_OVERRIDE
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
|
||||
// C++ 14:
|
||||
#if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
#if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
#if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
#if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
#if (__cplusplus < 201304) // There's no SD6 check for this....
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
#if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
#if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
#if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
#if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
// C++17
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
#if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#endif
|
||||
#if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
|
@ -0,0 +1,395 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Darin Adler 2001 - 2002.
|
||||
// (C) Copyright Peter Dimov 2001.
|
||||
// (C) Copyright Aleksey Gurtovoy 2002.
|
||||
// (C) Copyright David Abrahams 2002 - 2003.
|
||||
// (C) Copyright Beman Dawes 2002 - 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
//
|
||||
// Microsoft Visual C++ compiler setup:
|
||||
//
|
||||
// We need to be careful with the checks in this file, as contrary
|
||||
// to popular belief there are versions with _MSC_VER with the final
|
||||
// digit non-zero (mainly the MIPS cross compiler).
|
||||
//
|
||||
// So we either test _MSC_VER >= XXXX or else _MSC_VER < XXXX.
|
||||
// No other comparisons (==, >, or <=) are safe.
|
||||
//
|
||||
|
||||
#define BOOST_MSVC _MSC_VER
|
||||
|
||||
//
|
||||
// Helper macro BOOST_MSVC_FULL_VER for use in Boost code:
|
||||
//
|
||||
#if _MSC_FULL_VER > 100000000
|
||||
# define BOOST_MSVC_FULL_VER _MSC_FULL_VER
|
||||
#else
|
||||
# define BOOST_MSVC_FULL_VER (_MSC_FULL_VER * 10)
|
||||
#endif
|
||||
|
||||
// Attempt to suppress VC6 warnings about the length of decorated names (obsolete):
|
||||
#pragma warning( disable : 4503 ) // warning: decorated name length exceeded
|
||||
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
|
||||
//
|
||||
// versions check:
|
||||
// we don't support Visual C++ prior to version 7.1:
|
||||
#if _MSC_VER < 1310
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
|
||||
// VS2005 (VC8) docs: __assume has been in Visual C++ for multiple releases
|
||||
#define BOOST_UNREACHABLE_RETURN(x) __assume(0);
|
||||
|
||||
#if _MSC_FULL_VER < 180020827
|
||||
# define BOOST_NO_FENV_H
|
||||
#endif
|
||||
|
||||
#if _MSC_VER < 1400
|
||||
// although a conforming signature for swprint exists in VC7.1
|
||||
// it appears not to actually work:
|
||||
# define BOOST_NO_SWPRINTF
|
||||
// Our extern template tests also fail for this compiler:
|
||||
# define BOOST_NO_CXX11_EXTERN_TEMPLATE
|
||||
// Variadic macros do not exist for VC7.1 and lower
|
||||
# define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#endif
|
||||
|
||||
#if _MSC_VER < 1500 // 140X == VC++ 8.0
|
||||
# define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
|
||||
#endif
|
||||
|
||||
#if _MSC_VER < 1600 // 150X == VC++ 9.0
|
||||
// A bug in VC9:
|
||||
# define BOOST_NO_ADL_BARRIER
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef _NATIVE_WCHAR_T_DEFINED
|
||||
# define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
#endif
|
||||
|
||||
//
|
||||
// check for exception handling support:
|
||||
#if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
//
|
||||
// __int64 support:
|
||||
//
|
||||
#define BOOST_HAS_MS_INT64
|
||||
#if defined(_MSC_EXTENSIONS) || (_MSC_VER >= 1400)
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
#else
|
||||
# define BOOST_NO_LONG_LONG
|
||||
#endif
|
||||
#if (_MSC_VER >= 1400) && !defined(_DEBUG)
|
||||
# define BOOST_HAS_NRVO
|
||||
#endif
|
||||
#if _MSC_VER >= 1600 // 160X == VC++ 10.0
|
||||
# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
|
||||
#endif
|
||||
//
|
||||
// disable Win32 API's if compiler extensions are
|
||||
// turned off:
|
||||
//
|
||||
#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_DISABLE_WIN32)
|
||||
# define BOOST_DISABLE_WIN32
|
||||
#endif
|
||||
#if !defined(_CPPRTTI) && !defined(BOOST_NO_RTTI)
|
||||
# define BOOST_NO_RTTI
|
||||
#endif
|
||||
|
||||
// Deprecated symbol markup
|
||||
#if (_MSC_VER >= 1400)
|
||||
#define BOOST_DEPRECATED(msg) __declspec(deprecated(msg))
|
||||
#else
|
||||
// MSVC 7.1 only supports the attribute without a message
|
||||
#define BOOST_DEPRECATED(msg) __declspec(deprecated)
|
||||
#endif
|
||||
|
||||
//
|
||||
// TR1 features:
|
||||
//
|
||||
#if (_MSC_VER >= 1700) && defined(_HAS_CXX17) && (_HAS_CXX17 > 0)
|
||||
// # define BOOST_HAS_TR1_HASH // don't know if this is true yet.
|
||||
// # define BOOST_HAS_TR1_TYPE_TRAITS // don't know if this is true yet.
|
||||
# define BOOST_HAS_TR1_UNORDERED_MAP
|
||||
# define BOOST_HAS_TR1_UNORDERED_SET
|
||||
#endif
|
||||
|
||||
//
|
||||
// C++0x features
|
||||
//
|
||||
// See above for BOOST_NO_LONG_LONG
|
||||
|
||||
// C++ features supported by VC++ 10 (aka 2010)
|
||||
//
|
||||
#if _MSC_VER < 1600
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
# define BOOST_NO_CXX11_NULLPTR
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
#endif // _MSC_VER < 1600
|
||||
|
||||
#if _MSC_VER >= 1600
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
// C++11 features supported by VC++ 11 (aka 2012)
|
||||
//
|
||||
#if _MSC_VER < 1700
|
||||
# define BOOST_NO_CXX11_FINAL
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
# define BOOST_NO_CXX11_OVERRIDE
|
||||
#endif // _MSC_VER < 1700
|
||||
|
||||
// C++11 features supported by VC++ 12 (aka 2013).
|
||||
//
|
||||
#if _MSC_FULL_VER < 180020827
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#endif
|
||||
|
||||
#if _MSC_FULL_VER >= 180020827
|
||||
#define BOOST_HAS_EXPM1
|
||||
#define BOOST_HAS_LOG1P
|
||||
#endif
|
||||
|
||||
// C++11 features supported by VC++ 14 (aka 2015)
|
||||
//
|
||||
#if (_MSC_FULL_VER < 190023026)
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
# define BOOST_NO_CXX11_DEFAULTED_MOVES
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
# define BOOST_NO_CXX11_ALIGNOF
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
# define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
#endif
|
||||
// C++11 features supported by VC++ 14 update 3 (aka 2015)
|
||||
//
|
||||
#if (_MSC_FULL_VER < 190024210)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
|
||||
// C++14 features supported by VC++ 14.1 (Visual Studio 2017)
|
||||
//
|
||||
#if (_MSC_VER < 1910)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
|
||||
// C++17 features supported by VC++ 14.1 (Visual Studio 2017) Update 3
|
||||
//
|
||||
#if (_MSC_VER < 1911) || (_MSVC_LANG < 201703)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
// Let the defaults handle these now:
|
||||
//# define BOOST_NO_CXX17_HDR_OPTIONAL
|
||||
//# define BOOST_NO_CXX17_HDR_STRING_VIEW
|
||||
#endif
|
||||
|
||||
// MSVC including version 14 has not yet completely
|
||||
// implemented value-initialization, as is reported:
|
||||
// "VC++ does not value-initialize members of derived classes without
|
||||
// user-declared constructor", reported in 2009 by Sylvester Hesp:
|
||||
// https://connect.microsoft.com/VisualStudio/feedback/details/484295
|
||||
// "Presence of copy constructor breaks member class initialization",
|
||||
// reported in 2009 by Alex Vakulenko:
|
||||
// https://connect.microsoft.com/VisualStudio/feedback/details/499606
|
||||
// "Value-initialization in new-expression", reported in 2005 by
|
||||
// Pavel Kuznetsov (MetaCommunications Engineering):
|
||||
// https://connect.microsoft.com/VisualStudio/feedback/details/100744
|
||||
// Reported again by John Maddock in 2015 for VC14:
|
||||
// https://connect.microsoft.com/VisualStudio/feedback/details/1582233/c-subobjects-still-not-value-initialized-correctly
|
||||
// See also: http://www.boost.org/libs/utility/value_init.htm#compiler_issues
|
||||
// (Niels Dekker, LKEB, May 2010)
|
||||
// Still present in VC15.5, Dec 2017.
|
||||
#define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
|
||||
//
|
||||
// C++ 11:
|
||||
//
|
||||
// This is supported with /permissive- for 15.5 onwards, unfortunately we appear to have no way to tell
|
||||
// if this is in effect or not, in any case nothing in Boost is currently using this, so we'll just go
|
||||
// on defining it for now:
|
||||
//
|
||||
#if (_MSC_FULL_VER < 193030705) || (_MSVC_LANG < 202004)
|
||||
# define BOOST_NO_TWO_PHASE_NAME_LOOKUP
|
||||
#endif
|
||||
|
||||
#if (_MSC_VER < 1912) || (_MSVC_LANG < 201402)
|
||||
// Supported from msvc-15.5 onwards:
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
#endif
|
||||
#if (_MSC_VER < 1915) || (_MSVC_LANG < 201402)
|
||||
// C++ 14:
|
||||
// Still gives internal compiler error for msvc-15.5:
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
// C++ 17:
|
||||
#if (_MSC_VER < 1912) || (_MSVC_LANG < 201703)
|
||||
#define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
|
||||
//
|
||||
// Things that don't work in clr mode:
|
||||
//
|
||||
#ifdef _M_CEE
|
||||
#ifndef BOOST_NO_CXX11_THREAD_LOCAL
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#endif
|
||||
#if !defined(BOOST_NO_SFINAE_EXPR) && !defined(_MSVC_LANG)
|
||||
# define BOOST_NO_SFINAE_EXPR
|
||||
#endif
|
||||
#ifndef BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#endif
|
||||
#endif
|
||||
#ifdef _M_CEE_PURE
|
||||
#ifndef BOOST_NO_CXX11_CONSTEXPR
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
#endif
|
||||
|
||||
//
|
||||
// prefix and suffix headers:
|
||||
//
|
||||
#ifndef BOOST_ABI_PREFIX
|
||||
# define BOOST_ABI_PREFIX "boost/config/abi/msvc_prefix.hpp"
|
||||
#endif
|
||||
#ifndef BOOST_ABI_SUFFIX
|
||||
# define BOOST_ABI_SUFFIX "boost/config/abi/msvc_suffix.hpp"
|
||||
#endif
|
||||
|
||||
//
|
||||
// Approximate compiler conformance version
|
||||
//
|
||||
#ifdef _MSVC_LANG
|
||||
# define BOOST_CXX_VERSION _MSVC_LANG
|
||||
#elif defined(_HAS_CXX17)
|
||||
# define BOOST_CXX_VERSION 201703L
|
||||
#elif BOOST_MSVC >= 1916
|
||||
# define BOOST_CXX_VERSION 201402L
|
||||
#endif
|
||||
|
||||
#if BOOST_CXX_VERSION >= 201703L
|
||||
# define BOOST_ATTRIBUTE_UNUSED [[maybe_unused]]
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
// TODO:
|
||||
// these things are mostly bogus. 1200 means version 12.0 of the compiler. The
|
||||
// artificial versions assigned to them only refer to the versions of some IDE
|
||||
// these compilers have been shipped with, and even that is not all of it. Some
|
||||
// were shipped with freely downloadable SDKs, others as crosscompilers in eVC.
|
||||
// IOW, you can't use these 'versions' in any sensible way. Sorry.
|
||||
# if defined(UNDER_CE)
|
||||
# if _MSC_VER < 1400
|
||||
// Note: I'm not aware of any CE compiler with version 13xx
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results")
|
||||
# endif
|
||||
# elif _MSC_VER < 1500
|
||||
# define BOOST_COMPILER_VERSION evc8
|
||||
# elif _MSC_VER < 1600
|
||||
# define BOOST_COMPILER_VERSION evc9
|
||||
# elif _MSC_VER < 1700
|
||||
# define BOOST_COMPILER_VERSION evc10
|
||||
# elif _MSC_VER < 1800
|
||||
# define BOOST_COMPILER_VERSION evc11
|
||||
# elif _MSC_VER < 1900
|
||||
# define BOOST_COMPILER_VERSION evc12
|
||||
# elif _MSC_VER < 2000
|
||||
# define BOOST_COMPILER_VERSION evc14
|
||||
# else
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "boost: Unknown EVC++ compiler version - please run the configure tests and report the results"
|
||||
# else
|
||||
# pragma message("boost: Unknown EVC++ compiler version - please run the configure tests and report the results")
|
||||
# endif
|
||||
# endif
|
||||
# else
|
||||
# if _MSC_VER < 1200
|
||||
// Note: Versions up to 10.0 aren't supported.
|
||||
# define BOOST_COMPILER_VERSION 5.0
|
||||
# elif _MSC_VER < 1300
|
||||
# define BOOST_COMPILER_VERSION 6.0
|
||||
# elif _MSC_VER < 1310
|
||||
# define BOOST_COMPILER_VERSION 7.0
|
||||
# elif _MSC_VER < 1400
|
||||
# define BOOST_COMPILER_VERSION 7.1
|
||||
# elif _MSC_VER < 1500
|
||||
# define BOOST_COMPILER_VERSION 8.0
|
||||
# elif _MSC_VER < 1600
|
||||
# define BOOST_COMPILER_VERSION 9.0
|
||||
# elif _MSC_VER < 1700
|
||||
# define BOOST_COMPILER_VERSION 10.0
|
||||
# elif _MSC_VER < 1800
|
||||
# define BOOST_COMPILER_VERSION 11.0
|
||||
# elif _MSC_VER < 1900
|
||||
# define BOOST_COMPILER_VERSION 12.0
|
||||
# elif _MSC_VER < 1910
|
||||
# define BOOST_COMPILER_VERSION 14.0
|
||||
# elif _MSC_VER < 1920
|
||||
# define BOOST_COMPILER_VERSION 14.1
|
||||
# elif _MSC_VER < 1930
|
||||
# define BOOST_COMPILER_VERSION 14.2
|
||||
# elif _MSC_VER < 1940
|
||||
# define BOOST_COMPILER_VERSION 14.3
|
||||
# else
|
||||
# define BOOST_COMPILER_VERSION _MSC_VER
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
|
||||
#endif
|
||||
|
||||
#include <boost/config/pragma_message.hpp>
|
||||
|
||||
//
|
||||
// last known and checked version is 19.3x (VS2022):
|
||||
#if (_MSC_VER >= 1940)
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Boost.Config is older than your current compiler version."
|
||||
# elif !defined(BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE)
|
||||
//
|
||||
// Disabled as of March 2018 - the pace of VS releases is hard to keep up with
|
||||
// and in any case, we have relatively few defect macros defined now.
|
||||
// BOOST_PRAGMA_MESSAGE("Info: Boost.Config is older than your compiler version - probably nothing bad will happen - but you may wish to look for an updated Boost version. Define BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE to suppress this message.")
|
||||
# endif
|
||||
#endif
|
|
@ -0,0 +1,299 @@
|
|||
// (C) Copyright Douglas Gregor 2010
|
||||
//
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// compiler setup for IBM XL C/C++ for Linux (Little Endian) based on clang.
|
||||
|
||||
#define BOOST_HAS_PRAGMA_ONCE
|
||||
|
||||
// Detecting `-fms-extension` compiler flag assuming that _MSC_VER defined when that flag is used.
|
||||
#if defined (_MSC_VER) && (__clang_major__ > 3 || (__clang_major__ == 3 && __clang_minor__ >= 4))
|
||||
# define BOOST_HAS_PRAGMA_DETECT_MISMATCH
|
||||
#endif
|
||||
|
||||
// When compiling with clang before __has_extension was defined,
|
||||
// even if one writes 'defined(__has_extension) && __has_extension(xxx)',
|
||||
// clang reports a compiler error. So the only workaround found is:
|
||||
|
||||
#ifndef __has_extension
|
||||
#define __has_extension __has_feature
|
||||
#endif
|
||||
|
||||
#ifndef __has_cpp_attribute
|
||||
#define __has_cpp_attribute(x) 0
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_exceptions) && !defined(BOOST_NO_EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_RTTI)
|
||||
# define BOOST_NO_RTTI
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_rtti) && !defined(BOOST_NO_TYPEID)
|
||||
# define BOOST_NO_TYPEID
|
||||
#endif
|
||||
|
||||
#if defined(__int64) && !defined(__GNUC__)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
#endif
|
||||
|
||||
#define BOOST_HAS_NRVO
|
||||
|
||||
// Branch prediction hints
|
||||
#if defined(__has_builtin)
|
||||
#if __has_builtin(__builtin_expect)
|
||||
#define BOOST_LIKELY(x) __builtin_expect(x, 1)
|
||||
#define BOOST_UNLIKELY(x) __builtin_expect(x, 0)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// Clang supports "long long" in all compilation modes.
|
||||
#define BOOST_HAS_LONG_LONG
|
||||
|
||||
//
|
||||
// Dynamic shared object (DSO) and dynamic-link library (DLL) support
|
||||
//
|
||||
#if !defined(_WIN32) && !defined(__WIN32__) && !defined(WIN32)
|
||||
# define BOOST_SYMBOL_EXPORT __attribute__((__visibility__("default")))
|
||||
# define BOOST_SYMBOL_IMPORT
|
||||
# define BOOST_SYMBOL_VISIBLE __attribute__((__visibility__("default")))
|
||||
#endif
|
||||
|
||||
//
|
||||
// The BOOST_FALLTHROUGH macro can be used to annotate implicit fall-through
|
||||
// between switch labels.
|
||||
//
|
||||
#if __cplusplus >= 201103L && defined(__has_warning)
|
||||
# if __has_feature(cxx_attributes) && __has_warning("-Wimplicit-fallthrough")
|
||||
# define BOOST_FALLTHROUGH [[clang::fallthrough]]
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_auto_type)
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
#endif
|
||||
|
||||
//
|
||||
// Currently clang on Windows using VC++ RTL does not support C++11's char16_t or char32_t
|
||||
//
|
||||
#if defined(_MSC_VER) || !(defined(__GXX_EXPERIMENTAL_CXX0X__) || __cplusplus >= 201103L)
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_constexpr)
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_decltype)
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_decltype_incomplete_return_types)
|
||||
# define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_defaulted_functions)
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_deleted_functions)
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_explicit_conversions)
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_default_function_template_args)
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_generalized_initializers)
|
||||
# define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_lambdas)
|
||||
# define BOOST_NO_CXX11_LAMBDAS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_local_type_template_args)
|
||||
# define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_noexcept)
|
||||
# define BOOST_NO_CXX11_NOEXCEPT
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_nullptr)
|
||||
# define BOOST_NO_CXX11_NULLPTR
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_range_for)
|
||||
# define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_raw_string_literals)
|
||||
# define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_reference_qualified_functions)
|
||||
# define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_generalized_initializers)
|
||||
# define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_rvalue_references)
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_strong_enums)
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_static_assert)
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_alias_templates)
|
||||
# define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_unicode_literals)
|
||||
# define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_variadic_templates)
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_user_literals)
|
||||
# define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_alignas)
|
||||
# define BOOST_NO_CXX11_ALIGNAS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_alignof)
|
||||
# define BOOST_NO_CXX11_ALIGNOF
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_trailing_return)
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_inline_namespaces)
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_override_control)
|
||||
# define BOOST_NO_CXX11_FINAL
|
||||
# define BOOST_NO_CXX11_OVERRIDE
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_unrestricted_unions)
|
||||
# define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
#endif
|
||||
|
||||
#if !(__has_feature(__cxx_binary_literals__) || __has_extension(__cxx_binary_literals__))
|
||||
# define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(__cxx_decltype_auto__)
|
||||
# define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#endif
|
||||
|
||||
#if !__has_feature(__cxx_aggregate_nsdmi__)
|
||||
# define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#endif
|
||||
|
||||
#if !__has_feature(__cxx_init_captures__)
|
||||
# define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#endif
|
||||
|
||||
#if !__has_feature(__cxx_generic_lambdas__)
|
||||
# define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#endif
|
||||
|
||||
// clang < 3.5 has a defect with dependent type, like following.
|
||||
//
|
||||
// template <class T>
|
||||
// constexpr typename enable_if<pred<T> >::type foo(T &)
|
||||
// { } // error: no return statement in constexpr function
|
||||
//
|
||||
// This issue also affects C++11 mode, but C++11 constexpr requires return stmt.
|
||||
// Therefore we don't care such case.
|
||||
//
|
||||
// Note that we can't check Clang version directly as the numbering system changes depending who's
|
||||
// creating the Clang release (see https://github.com/boostorg/config/pull/39#issuecomment-59927873)
|
||||
// so instead verify that we have a feature that was introduced at the same time as working C++14
|
||||
// constexpr (generic lambda's in this case):
|
||||
//
|
||||
#if !__has_feature(__cxx_generic_lambdas__) || !__has_feature(__cxx_relaxed_constexpr__)
|
||||
# define BOOST_NO_CXX14_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#if !__has_feature(__cxx_return_type_deduction__)
|
||||
# define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#endif
|
||||
|
||||
#if !__has_feature(__cxx_variable_templates__)
|
||||
# define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#endif
|
||||
|
||||
#if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
|
||||
# define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#endif
|
||||
|
||||
#if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
|
||||
# define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
#endif
|
||||
|
||||
// Clang 3.9+ in c++1z
|
||||
#if !__has_cpp_attribute(fallthrough) || __cplusplus < 201406L
|
||||
# define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
# define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#endif
|
||||
|
||||
#if !__has_feature(cxx_thread_local)
|
||||
# define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#endif
|
||||
|
||||
#if __cplusplus < 201400
|
||||
// All versions with __cplusplus above this value seem to support this:
|
||||
# define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#endif
|
||||
|
||||
// Deprecated symbol markup
|
||||
#if __has_attribute(deprecated)
|
||||
#define BOOST_DEPRECATED(msg) __attribute__((deprecated(msg)))
|
||||
#endif
|
||||
|
||||
// Unused attribute:
|
||||
#if defined(__GNUC__) && (__GNUC__ >= 4)
|
||||
# define BOOST_ATTRIBUTE_UNUSED __attribute__((unused))
|
||||
#endif
|
||||
|
||||
// Type aliasing hint.
|
||||
#if __has_attribute(__may_alias__)
|
||||
# define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
#endif
|
||||
|
||||
#ifndef BOOST_COMPILER
|
||||
# define BOOST_COMPILER "Clang version " __clang_version__
|
||||
#endif
|
||||
|
||||
// Macro used to identify the Clang compiler.
|
||||
#define BOOST_CLANG 1
|
||||
|
||||
#define BOOST_CLANG_VERSION (__clang_major__ * 10000 + __clang_minor__ * 100 + __clang_patchlevel__)
|
|
@ -0,0 +1,173 @@
|
|||
// Copyright (c) 2017 Dynatrace
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Compiler setup for IBM z/OS XL C/C++ compiler.
|
||||
|
||||
// Oldest compiler version currently supported is 2.1 (V2R1)
|
||||
#if !defined(__IBMCPP__) || !defined(__COMPILER_VER__) || __COMPILER_VER__ < 0x42010000
|
||||
# error "Compiler not supported or configured - please reconfigure"
|
||||
#endif
|
||||
|
||||
#if __COMPILER_VER__ > 0x42010000
|
||||
# if defined(BOOST_ASSERT_CONFIG)
|
||||
# error "Unknown compiler version - please run the configure tests and report the results"
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#define BOOST_COMPILER "IBM z/OS XL C/C++ version " BOOST_STRINGIZE(__COMPILER_VER__)
|
||||
#define BOOST_XLCPP_ZOS __COMPILER_VER__
|
||||
|
||||
// -------------------------------------
|
||||
|
||||
#include <features.h> // For __UU, __C99, __TR1, ...
|
||||
|
||||
#if !defined(__IBMCPP_DEFAULTED_AND_DELETED_FUNCTIONS)
|
||||
# define BOOST_NO_CXX11_DELETED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
|
||||
# define BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS
|
||||
#endif
|
||||
|
||||
// -------------------------------------
|
||||
|
||||
#if defined(__UU) || defined(__C99) || defined(__TR1)
|
||||
# define BOOST_HAS_LOG1P
|
||||
# define BOOST_HAS_EXPM1
|
||||
#endif
|
||||
|
||||
#if defined(__C99) || defined(__TR1)
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#else
|
||||
# define BOOST_NO_FENV_H
|
||||
#endif
|
||||
|
||||
// -------------------------------------
|
||||
|
||||
#define BOOST_HAS_NRVO
|
||||
|
||||
#if !defined(__RTTI_ALL__)
|
||||
# define BOOST_NO_RTTI
|
||||
#endif
|
||||
|
||||
#if !defined(_CPPUNWIND) && !defined(__EXCEPTIONS)
|
||||
# define BOOST_NO_EXCEPTIONS
|
||||
#endif
|
||||
|
||||
#if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL)
|
||||
# define BOOST_HAS_LONG_LONG
|
||||
#else
|
||||
# define BOOST_NO_LONG_LONG
|
||||
#endif
|
||||
|
||||
#if defined(_LONG_LONG) || defined(__IBMCPP_C99_LONG_LONG) || defined(__LL) || defined(_LP64)
|
||||
# define BOOST_HAS_MS_INT64
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_SFINAE_EXPR
|
||||
#define BOOST_NO_CXX11_SFINAE_EXPR
|
||||
|
||||
#if defined(__IBMCPP_VARIADIC_TEMPLATES)
|
||||
# define BOOST_HAS_VARIADIC_TMPL
|
||||
#else
|
||||
# define BOOST_NO_CXX11_VARIADIC_TEMPLATES
|
||||
# define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
|
||||
#endif
|
||||
|
||||
#if defined(__IBMCPP_STATIC_ASSERT)
|
||||
# define BOOST_HAS_STATIC_ASSERT
|
||||
#else
|
||||
# define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#endif
|
||||
|
||||
#if defined(__IBMCPP_RVALUE_REFERENCES)
|
||||
# define BOOST_HAS_RVALUE_REFS
|
||||
#else
|
||||
# define BOOST_NO_CXX11_RVALUE_REFERENCES
|
||||
#endif
|
||||
|
||||
#if !defined(__IBMCPP_SCOPED_ENUM)
|
||||
# define BOOST_NO_CXX11_SCOPED_ENUMS
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
|
||||
#define BOOST_NO_CXX11_TEMPLATE_ALIASES
|
||||
#define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
|
||||
|
||||
#if !defined(__IBMCPP_EXPLICIT_CONVERSION_OPERATORS)
|
||||
# define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
|
||||
#endif
|
||||
|
||||
#if !defined(__IBMCPP_DECLTYPE)
|
||||
# define BOOST_NO_CXX11_DECLTYPE
|
||||
#else
|
||||
# define BOOST_HAS_DECLTYPE
|
||||
#endif
|
||||
#define BOOST_NO_CXX11_DECLTYPE_N3276
|
||||
|
||||
#if !defined(__IBMCPP_INLINE_NAMESPACE)
|
||||
# define BOOST_NO_CXX11_INLINE_NAMESPACES
|
||||
#endif
|
||||
|
||||
#if !defined(__IBMCPP_AUTO_TYPEDEDUCTION)
|
||||
# define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
|
||||
# define BOOST_NO_CXX11_AUTO_DECLARATIONS
|
||||
# define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
|
||||
#endif
|
||||
|
||||
#if !defined(__IBM_CHAR32_T__)
|
||||
# define BOOST_NO_CXX11_CHAR32_T
|
||||
#endif
|
||||
#if !defined(__IBM_CHAR16_T__)
|
||||
# define BOOST_NO_CXX11_CHAR16_T
|
||||
#endif
|
||||
|
||||
#if !defined(__IBMCPP_CONSTEXPR)
|
||||
# define BOOST_NO_CXX11_CONSTEXPR
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
|
||||
#define BOOST_NO_CXX11_UNICODE_LITERALS
|
||||
#define BOOST_NO_CXX11_RAW_LITERALS
|
||||
#define BOOST_NO_CXX11_RANGE_BASED_FOR
|
||||
#define BOOST_NO_CXX11_NULLPTR
|
||||
#define BOOST_NO_CXX11_NOEXCEPT
|
||||
#define BOOST_NO_CXX11_LAMBDAS
|
||||
#define BOOST_NO_CXX11_USER_DEFINED_LITERALS
|
||||
#define BOOST_NO_CXX11_THREAD_LOCAL
|
||||
#define BOOST_NO_CXX11_REF_QUALIFIERS
|
||||
#define BOOST_NO_CXX11_FINAL
|
||||
#define BOOST_NO_CXX11_OVERRIDE
|
||||
#define BOOST_NO_CXX11_ALIGNAS
|
||||
#define BOOST_NO_CXX11_ALIGNOF
|
||||
#define BOOST_NO_CXX11_UNRESTRICTED_UNION
|
||||
#define BOOST_NO_CXX14_VARIABLE_TEMPLATES
|
||||
#define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
|
||||
#define BOOST_NO_CXX14_AGGREGATE_NSDMI
|
||||
#define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
|
||||
#define BOOST_NO_CXX14_GENERIC_LAMBDAS
|
||||
#define BOOST_NO_CXX14_DIGIT_SEPARATORS
|
||||
#define BOOST_NO_CXX14_DECLTYPE_AUTO
|
||||
#define BOOST_NO_CXX14_CONSTEXPR
|
||||
#define BOOST_NO_CXX14_BINARY_LITERALS
|
||||
#define BOOST_NO_CXX17_STRUCTURED_BINDINGS
|
||||
#define BOOST_NO_CXX17_INLINE_VARIABLES
|
||||
#define BOOST_NO_CXX17_FOLD_EXPRESSIONS
|
||||
#define BOOST_NO_CXX17_IF_CONSTEXPR
|
||||
|
||||
// -------------------------------------
|
||||
|
||||
#if defined(__IBM_ATTRIBUTES)
|
||||
# define BOOST_FORCEINLINE inline __attribute__ ((__always_inline__))
|
||||
# define BOOST_NOINLINE __attribute__ ((__noinline__))
|
||||
# define BOOST_MAY_ALIAS __attribute__((__may_alias__))
|
||||
// No BOOST_ALIGNMENT - explicit alignment support is broken (V2R1).
|
||||
#endif
|
||||
|
||||
extern "builtin" long __builtin_expect(long, long);
|
||||
|
||||
#define BOOST_LIKELY(x) __builtin_expect((x) && true, 1)
|
||||
#define BOOST_UNLIKELY(x) __builtin_expect((x) && true, 0)
|
|
@ -0,0 +1,217 @@
|
|||
// This file was automatically generated on Fri Oct 13 19:09:38 2023
|
||||
// by libs/config/tools/generate.cpp
|
||||
// Copyright John Maddock 2002-21.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/libs/config for the most recent version.//
|
||||
// Revision $Id$
|
||||
//
|
||||
|
||||
#if defined(BOOST_NO_ADL_BARRIER)\
|
||||
|| defined(BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP)\
|
||||
|| defined(BOOST_NO_ARRAY_TYPE_SPECIALIZATIONS)\
|
||||
|| defined(BOOST_NO_COMPLETE_VALUE_INITIALIZATION)\
|
||||
|| defined(BOOST_NO_CTYPE_FUNCTIONS)\
|
||||
|| defined(BOOST_NO_CV_SPECIALIZATIONS)\
|
||||
|| defined(BOOST_NO_CV_VOID_SPECIALIZATIONS)\
|
||||
|| defined(BOOST_NO_CWCHAR)\
|
||||
|| defined(BOOST_NO_CWCTYPE)\
|
||||
|| defined(BOOST_NO_DEPENDENT_NESTED_DERIVATIONS)\
|
||||
|| defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)\
|
||||
|| defined(BOOST_NO_EXCEPTIONS)\
|
||||
|| defined(BOOST_NO_EXCEPTION_STD_NAMESPACE)\
|
||||
|| defined(BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS)\
|
||||
|| defined(BOOST_NO_FENV_H)\
|
||||
|| defined(BOOST_NO_FUNCTION_TEMPLATE_ORDERING)\
|
||||
|| defined(BOOST_NO_FUNCTION_TYPE_SPECIALIZATIONS)\
|
||||
|| defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION)\
|
||||
|| defined(BOOST_NO_INTEGRAL_INT64_T)\
|
||||
|| defined(BOOST_NO_INTRINSIC_WCHAR_T)\
|
||||
|| defined(BOOST_NO_IOSFWD)\
|
||||
|| defined(BOOST_NO_IOSTREAM)\
|
||||
|| defined(BOOST_NO_IS_ABSTRACT)\
|
||||
|| defined(BOOST_NO_LIMITS)\
|
||||
|| defined(BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS)\
|
||||
|| defined(BOOST_NO_LONG_LONG)\
|
||||
|| defined(BOOST_NO_LONG_LONG_NUMERIC_LIMITS)\
|
||||
|| defined(BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS)\
|
||||
|| defined(BOOST_NO_MEMBER_TEMPLATES)\
|
||||
|| defined(BOOST_NO_MEMBER_TEMPLATE_FRIENDS)\
|
||||
|| defined(BOOST_NO_MEMBER_TEMPLATE_KEYWORD)\
|
||||
|| defined(BOOST_NO_NESTED_FRIENDSHIP)\
|
||||
|| defined(BOOST_NO_OPERATORS_IN_NAMESPACE)\
|
||||
|| defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS)\
|
||||
|| defined(BOOST_NO_POINTER_TO_MEMBER_CONST)\
|
||||
|| defined(BOOST_NO_POINTER_TO_MEMBER_TEMPLATE_PARAMETERS)\
|
||||
|| defined(BOOST_NO_PRIVATE_IN_AGGREGATE)\
|
||||
|| defined(BOOST_NO_RESTRICT_REFERENCES)\
|
||||
|| defined(BOOST_NO_RTTI)\
|
||||
|| defined(BOOST_NO_SFINAE)\
|
||||
|| defined(BOOST_NO_SFINAE_EXPR)\
|
||||
|| defined(BOOST_NO_STDC_NAMESPACE)\
|
||||
|| defined(BOOST_NO_STD_ALLOCATOR)\
|
||||
|| defined(BOOST_NO_STD_DISTANCE)\
|
||||
|| defined(BOOST_NO_STD_ITERATOR)\
|
||||
|| defined(BOOST_NO_STD_ITERATOR_TRAITS)\
|
||||
|| defined(BOOST_NO_STD_LOCALE)\
|
||||
|| defined(BOOST_NO_STD_MESSAGES)\
|
||||
|| defined(BOOST_NO_STD_MIN_MAX)\
|
||||
|| defined(BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN)\
|
||||
|| defined(BOOST_NO_STD_TYPEINFO)\
|
||||
|| defined(BOOST_NO_STD_USE_FACET)\
|
||||
|| defined(BOOST_NO_STD_WSTREAMBUF)\
|
||||
|| defined(BOOST_NO_STD_WSTRING)\
|
||||
|| defined(BOOST_NO_STRINGSTREAM)\
|
||||
|| defined(BOOST_NO_TEMPLATED_IOSTREAMS)\
|
||||
|| defined(BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS)\
|
||||
|| defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION)\
|
||||
|| defined(BOOST_NO_TEMPLATE_TEMPLATES)\
|
||||
|| defined(BOOST_NO_TWO_PHASE_NAME_LOOKUP)\
|
||||
|| defined(BOOST_NO_TYPEID)\
|
||||
|| defined(BOOST_NO_TYPENAME_WITH_CTOR)\
|
||||
|| defined(BOOST_NO_UNREACHABLE_RETURN_DETECTION)\
|
||||
|| defined(BOOST_NO_USING_DECLARATION_OVERLOADS_FROM_TYPENAME_BASE)\
|
||||
|| defined(BOOST_NO_USING_TEMPLATE)\
|
||||
|| defined(BOOST_NO_VOID_RETURNS)
|
||||
# define BOOST_NO_CXX03
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_NO_CXX03)\
|
||||
|| defined(BOOST_NO_CXX11_ADDRESSOF)\
|
||||
|| defined(BOOST_NO_CXX11_ALIGNAS)\
|
||||
|| defined(BOOST_NO_CXX11_ALIGNOF)\
|
||||
|| defined(BOOST_NO_CXX11_ALLOCATOR)\
|
||||
|| defined(BOOST_NO_CXX11_AUTO_DECLARATIONS)\
|
||||
|| defined(BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS)\
|
||||
|| defined(BOOST_NO_CXX11_CHAR16_T)\
|
||||
|| defined(BOOST_NO_CXX11_CHAR32_T)\
|
||||
|| defined(BOOST_NO_CXX11_CONSTEXPR)\
|
||||
|| defined(BOOST_NO_CXX11_DECLTYPE)\
|
||||
|| defined(BOOST_NO_CXX11_DECLTYPE_N3276)\
|
||||
|| defined(BOOST_NO_CXX11_DEFAULTED_FUNCTIONS)\
|
||||
|| defined(BOOST_NO_CXX11_DEFAULTED_MOVES)\
|
||||
|| defined(BOOST_NO_CXX11_DELETED_FUNCTIONS)\
|
||||
|| defined(BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS)\
|
||||
|| defined(BOOST_NO_CXX11_EXTERN_TEMPLATE)\
|
||||
|| defined(BOOST_NO_CXX11_FINAL)\
|
||||
|| defined(BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS)\
|
||||
|| defined(BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_ARRAY)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_ATOMIC)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_CHRONO)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_CONDITION_VARIABLE)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_EXCEPTION)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_FORWARD_LIST)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_FUTURE)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_INITIALIZER_LIST)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_MUTEX)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_RANDOM)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_RATIO)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_REGEX)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_SYSTEM_ERROR)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_THREAD)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_TUPLE)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_TYPEINDEX)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_TYPE_TRAITS)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_UNORDERED_MAP)\
|
||||
|| defined(BOOST_NO_CXX11_HDR_UNORDERED_SET)\
|
||||
|| defined(BOOST_NO_CXX11_INLINE_NAMESPACES)\
|
||||
|| defined(BOOST_NO_CXX11_LAMBDAS)\
|
||||
|| defined(BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS)\
|
||||
|| defined(BOOST_NO_CXX11_NOEXCEPT)\
|
||||
|| defined(BOOST_NO_CXX11_NON_PUBLIC_DEFAULTED_FUNCTIONS)\
|
||||
|| defined(BOOST_NO_CXX11_NULLPTR)\
|
||||
|| defined(BOOST_NO_CXX11_NUMERIC_LIMITS)\
|
||||
|| defined(BOOST_NO_CXX11_OVERRIDE)\
|
||||
|| defined(BOOST_NO_CXX11_POINTER_TRAITS)\
|
||||
|| defined(BOOST_NO_CXX11_RANGE_BASED_FOR)\
|
||||
|| defined(BOOST_NO_CXX11_RAW_LITERALS)\
|
||||
|| defined(BOOST_NO_CXX11_REF_QUALIFIERS)\
|
||||
|| defined(BOOST_NO_CXX11_RVALUE_REFERENCES)\
|
||||
|| defined(BOOST_NO_CXX11_SCOPED_ENUMS)\
|
||||
|| defined(BOOST_NO_CXX11_SFINAE_EXPR)\
|
||||
|| defined(BOOST_NO_CXX11_SMART_PTR)\
|
||||
|| defined(BOOST_NO_CXX11_STATIC_ASSERT)\
|
||||
|| defined(BOOST_NO_CXX11_STD_ALIGN)\
|
||||
|| defined(BOOST_NO_CXX11_TEMPLATE_ALIASES)\
|
||||
|| defined(BOOST_NO_CXX11_THREAD_LOCAL)\
|
||||
|| defined(BOOST_NO_CXX11_TRAILING_RESULT_TYPES)\
|
||||
|| defined(BOOST_NO_CXX11_UNICODE_LITERALS)\
|
||||
|| defined(BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX)\
|
||||
|| defined(BOOST_NO_CXX11_UNRESTRICTED_UNION)\
|
||||
|| defined(BOOST_NO_CXX11_USER_DEFINED_LITERALS)\
|
||||
|| defined(BOOST_NO_CXX11_VARIADIC_MACROS)\
|
||||
|| defined(BOOST_NO_CXX11_VARIADIC_TEMPLATES)
|
||||
# define BOOST_NO_CXX11
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_NO_CXX11)\
|
||||
|| defined(BOOST_NO_CXX14_AGGREGATE_NSDMI)\
|
||||
|| defined(BOOST_NO_CXX14_BINARY_LITERALS)\
|
||||
|| defined(BOOST_NO_CXX14_CONSTEXPR)\
|
||||
|| defined(BOOST_NO_CXX14_DECLTYPE_AUTO)\
|
||||
|| defined(BOOST_NO_CXX14_DIGIT_SEPARATORS)\
|
||||
|| defined(BOOST_NO_CXX14_GENERIC_LAMBDAS)\
|
||||
|| defined(BOOST_NO_CXX14_HDR_SHARED_MUTEX)\
|
||||
|| defined(BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES)\
|
||||
|| defined(BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION)\
|
||||
|| defined(BOOST_NO_CXX14_STD_EXCHANGE)\
|
||||
|| defined(BOOST_NO_CXX14_VARIABLE_TEMPLATES)
|
||||
# define BOOST_NO_CXX14
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_NO_CXX14)\
|
||||
|| defined(BOOST_NO_CXX17_DEDUCTION_GUIDES)\
|
||||
|| defined(BOOST_NO_CXX17_FOLD_EXPRESSIONS)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_ANY)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_CHARCONV)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_EXECUTION)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_FILESYSTEM)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_MEMORY_RESOURCE)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_OPTIONAL)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_STRING_VIEW)\
|
||||
|| defined(BOOST_NO_CXX17_HDR_VARIANT)\
|
||||
|| defined(BOOST_NO_CXX17_IF_CONSTEXPR)\
|
||||
|| defined(BOOST_NO_CXX17_INLINE_VARIABLES)\
|
||||
|| defined(BOOST_NO_CXX17_ITERATOR_TRAITS)\
|
||||
|| defined(BOOST_NO_CXX17_STD_APPLY)\
|
||||
|| defined(BOOST_NO_CXX17_STD_INVOKE)\
|
||||
|| defined(BOOST_NO_CXX17_STRUCTURED_BINDINGS)
|
||||
# define BOOST_NO_CXX17
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_NO_CXX17)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_BARRIER)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_BIT)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_COMPARE)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_CONCEPTS)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_COROUTINE)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_FORMAT)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_LATCH)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_NUMBERS)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_RANGES)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_SEMAPHORE)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_SOURCE_LOCATION)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_SPAN)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_STOP_TOKEN)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_SYNCSTREAM)\
|
||||
|| defined(BOOST_NO_CXX20_HDR_VERSION)
|
||||
# define BOOST_NO_CXX20
|
||||
#endif
|
||||
|
||||
#if defined(BOOST_NO_CXX20)\
|
||||
|| defined(BOOST_NO_CXX23_HDR_EXPECTED)\
|
||||
|| defined(BOOST_NO_CXX23_HDR_FLAT_MAP)\
|
||||
|| defined(BOOST_NO_CXX23_HDR_FLAT_SET)\
|
||||
|| defined(BOOST_NO_CXX23_HDR_GENERATOR)\
|
||||
|| defined(BOOST_NO_CXX23_HDR_MDSPAN)\
|
||||
|| defined(BOOST_NO_CXX23_HDR_PRINT)\
|
||||
|| defined(BOOST_NO_CXX23_HDR_SPANSTREAM)\
|
||||
|| defined(BOOST_NO_CXX23_HDR_STACKTRACE)\
|
||||
|| defined(BOOST_NO_CXX23_HDR_STDFLOAT)
|
||||
# define BOOST_NO_CXX23
|
||||
#endif
|
||||
|
|
@ -0,0 +1,95 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// All POSIX feature tests go in this file,
|
||||
// Note that we test _POSIX_C_SOURCE and _XOPEN_SOURCE as well
|
||||
// _POSIX_VERSION and _XOPEN_VERSION: on some systems POSIX API's
|
||||
// may be present but none-functional unless _POSIX_C_SOURCE and
|
||||
// _XOPEN_SOURCE have been defined to the right value (it's up
|
||||
// to the user to do this *before* including any header, although
|
||||
// in most cases the compiler will do this for you).
|
||||
|
||||
# if defined(BOOST_HAS_UNISTD_H)
|
||||
# include <unistd.h>
|
||||
|
||||
// XOpen has <nl_types.h>, but is this the correct version check?
|
||||
# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION >= 3)
|
||||
# define BOOST_HAS_NL_TYPES_H
|
||||
# endif
|
||||
|
||||
// POSIX version 6 requires <stdint.h>
|
||||
# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 200100)
|
||||
# define BOOST_HAS_STDINT_H
|
||||
# endif
|
||||
|
||||
// POSIX version 2 requires <dirent.h>
|
||||
# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199009L)
|
||||
# define BOOST_HAS_DIRENT_H
|
||||
# endif
|
||||
|
||||
// POSIX version 3 requires <signal.h> to have sigaction:
|
||||
# if defined(_POSIX_VERSION) && (_POSIX_VERSION >= 199506L)
|
||||
# define BOOST_HAS_SIGACTION
|
||||
# endif
|
||||
// POSIX defines _POSIX_THREADS > 0 for pthread support,
|
||||
// however some platforms define _POSIX_THREADS without
|
||||
// a value, hence the (_POSIX_THREADS+0 >= 0) check.
|
||||
// Strictly speaking this may catch platforms with a
|
||||
// non-functioning stub <pthreads.h>, but such occurrences should
|
||||
// occur very rarely if at all.
|
||||
# if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS) && !defined(BOOST_HAS_MPTASKS)
|
||||
# define BOOST_HAS_PTHREADS
|
||||
# endif
|
||||
|
||||
// BOOST_HAS_NANOSLEEP:
|
||||
// This is predicated on _POSIX_TIMERS or _XOPEN_REALTIME:
|
||||
# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0)) \
|
||||
|| (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))
|
||||
# define BOOST_HAS_NANOSLEEP
|
||||
# endif
|
||||
|
||||
// BOOST_HAS_CLOCK_GETTIME:
|
||||
// This is predicated on _POSIX_TIMERS (also on _XOPEN_REALTIME
|
||||
// but at least one platform - linux - defines that flag without
|
||||
// defining clock_gettime):
|
||||
# if (defined(_POSIX_TIMERS) && (_POSIX_TIMERS+0 >= 0))
|
||||
# define BOOST_HAS_CLOCK_GETTIME
|
||||
# endif
|
||||
|
||||
// BOOST_HAS_SCHED_YIELD:
|
||||
// This is predicated on _POSIX_PRIORITY_SCHEDULING or
|
||||
// on _POSIX_THREAD_PRIORITY_SCHEDULING or on _XOPEN_REALTIME.
|
||||
# if defined(_POSIX_PRIORITY_SCHEDULING) && (_POSIX_PRIORITY_SCHEDULING+0 > 0)\
|
||||
|| (defined(_POSIX_THREAD_PRIORITY_SCHEDULING) && (_POSIX_THREAD_PRIORITY_SCHEDULING+0 > 0))\
|
||||
|| (defined(_XOPEN_REALTIME) && (_XOPEN_REALTIME+0 >= 0))
|
||||
# define BOOST_HAS_SCHED_YIELD
|
||||
# endif
|
||||
|
||||
// BOOST_HAS_GETTIMEOFDAY:
|
||||
// BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE:
|
||||
// These are predicated on _XOPEN_VERSION, and appears to be first released
|
||||
// in issue 4, version 2 (_XOPEN_VERSION > 500).
|
||||
// Likewise for the functions log1p and expm1.
|
||||
# if defined(_XOPEN_VERSION) && (_XOPEN_VERSION+0 >= 500)
|
||||
# define BOOST_HAS_GETTIMEOFDAY
|
||||
# if defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE+0 >= 500)
|
||||
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
# endif
|
||||
# ifndef BOOST_HAS_LOG1P
|
||||
# define BOOST_HAS_LOG1P
|
||||
# endif
|
||||
# ifndef BOOST_HAS_EXPM1
|
||||
# define BOOST_HAS_EXPM1
|
||||
# endif
|
||||
# endif
|
||||
|
||||
# endif
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,157 @@
|
|||
// Boost compiler configuration selection header file
|
||||
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Martin Wille 2003.
|
||||
// (C) Copyright Guillaume Melquiond 2003.
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org/ for most recent version.
|
||||
|
||||
// locate which compiler we are using and define
|
||||
// BOOST_COMPILER_CONFIG as needed:
|
||||
|
||||
#if defined __CUDACC__
|
||||
// NVIDIA CUDA C++ compiler for GPU
|
||||
# include "boost/config/compiler/nvcc.hpp"
|
||||
|
||||
#endif
|
||||
|
||||
#if defined(__GCCXML__)
|
||||
// GCC-XML emulates other compilers, it has to appear first here!
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc_xml.hpp"
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
// EDG based Cray compiler:
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/cray.hpp"
|
||||
|
||||
#elif defined __COMO__
|
||||
// Comeau C++
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/comeau.hpp"
|
||||
|
||||
#elif defined(__PATHSCALE__) && (__PATHCC__ >= 4)
|
||||
// PathScale EKOPath compiler (has to come before clang and gcc)
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/pathscale.hpp"
|
||||
|
||||
#elif defined(__INTEL_COMPILER) || defined(__ICL) || defined(__ICC) || defined(__ECC)
|
||||
// Intel
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/intel.hpp"
|
||||
|
||||
#elif defined __clang__ && !defined(__ibmxl__) && !defined(__CODEGEARC__)
|
||||
// Clang C++ emulates GCC, so it has to appear early.
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/clang.hpp"
|
||||
|
||||
#elif defined __DMC__
|
||||
// Digital Mars C++
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/digitalmars.hpp"
|
||||
|
||||
#elif defined __DCC__
|
||||
// Wind River Diab C++
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/diab.hpp"
|
||||
|
||||
#elif defined(__PGI)
|
||||
// Portland Group Inc.
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/pgi.hpp"
|
||||
|
||||
# elif defined(__GNUC__) && !defined(__ibmxl__)
|
||||
// GNU C++:
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/gcc.hpp"
|
||||
|
||||
#elif defined __KCC
|
||||
// Kai C++
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/kai.hpp"
|
||||
|
||||
#elif defined __sgi
|
||||
// SGI MIPSpro C++
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/sgi_mipspro.hpp"
|
||||
|
||||
#elif defined __DECCXX
|
||||
// Compaq Tru64 Unix cxx
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/compaq_cxx.hpp"
|
||||
|
||||
#elif defined __ghs
|
||||
// Greenhills C++
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/greenhills.hpp"
|
||||
|
||||
#elif defined __CODEGEARC__
|
||||
// CodeGear - must be checked for before Borland
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/codegear.hpp"
|
||||
|
||||
#elif defined __BORLANDC__
|
||||
// Borland
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/borland.hpp"
|
||||
|
||||
#elif defined __MWERKS__
|
||||
// Metrowerks CodeWarrior
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/metrowerks.hpp"
|
||||
|
||||
#elif defined __SUNPRO_CC
|
||||
// Sun Workshop Compiler C++
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/sunpro_cc.hpp"
|
||||
|
||||
#elif defined __HP_aCC
|
||||
// HP aCC
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/hp_acc.hpp"
|
||||
|
||||
#elif defined(__MRC__) || defined(__SC__)
|
||||
// MPW MrCpp or SCpp
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/mpw.hpp"
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__)
|
||||
// IBM z/OS XL C/C++
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp_zos.hpp"
|
||||
|
||||
#elif defined(__ibmxl__)
|
||||
// IBM XL C/C++ for Linux (Little Endian)
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/xlcpp.hpp"
|
||||
|
||||
#elif defined(__IBMCPP__)
|
||||
// IBM Visual Age or IBM XL C/C++ for Linux (Big Endian)
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/vacpp.hpp"
|
||||
|
||||
#elif defined _MSC_VER
|
||||
// Microsoft Visual C++
|
||||
//
|
||||
// Must remain the last #elif since some other vendors (Metrowerks, for
|
||||
// example) also #define _MSC_VER
|
||||
# define BOOST_COMPILER_CONFIG "boost/config/compiler/visualc.hpp"
|
||||
|
||||
#elif defined (BOOST_ASSERT_CONFIG)
|
||||
// this must come last - generate an error if we don't
|
||||
// recognise the compiler:
|
||||
# error "Unknown compiler - please configure (http://www.boost.org/libs/config/config.htm#configuring) and report the results to the main boost mailing list (http://www.boost.org/more/mailing_lists.htm#main)"
|
||||
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
//
|
||||
// This section allows dependency scanners to find all the headers we *might* include:
|
||||
//
|
||||
#include <boost/config/compiler/gcc_xml.hpp>
|
||||
#include <boost/config/compiler/cray.hpp>
|
||||
#include <boost/config/compiler/comeau.hpp>
|
||||
#include <boost/config/compiler/pathscale.hpp>
|
||||
#include <boost/config/compiler/intel.hpp>
|
||||
#include <boost/config/compiler/clang.hpp>
|
||||
#include <boost/config/compiler/digitalmars.hpp>
|
||||
#include <boost/config/compiler/gcc.hpp>
|
||||
#include <boost/config/compiler/kai.hpp>
|
||||
#include <boost/config/compiler/sgi_mipspro.hpp>
|
||||
#include <boost/config/compiler/compaq_cxx.hpp>
|
||||
#include <boost/config/compiler/greenhills.hpp>
|
||||
#include <boost/config/compiler/codegear.hpp>
|
||||
#include <boost/config/compiler/borland.hpp>
|
||||
#include <boost/config/compiler/metrowerks.hpp>
|
||||
#include <boost/config/compiler/sunpro_cc.hpp>
|
||||
#include <boost/config/compiler/hp_acc.hpp>
|
||||
#include <boost/config/compiler/mpw.hpp>
|
||||
#include <boost/config/compiler/xlcpp_zos.hpp>
|
||||
#include <boost/config/compiler/xlcpp.hpp>
|
||||
#include <boost/config/compiler/vacpp.hpp>
|
||||
#include <boost/config/compiler/pgi.hpp>
|
||||
#include <boost/config/compiler/visualc.hpp>
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,147 @@
|
|||
// Boost compiler configuration selection header file
|
||||
|
||||
// (C) Copyright John Maddock 2001 - 2002.
|
||||
// (C) Copyright Jens Maurer 2001.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// locate which platform we are on and define BOOST_PLATFORM_CONFIG as needed.
|
||||
// Note that we define the headers to include using "header_name" not
|
||||
// <header_name> in order to prevent macro expansion within the header
|
||||
// name (for example "linux" is a macro on linux systems).
|
||||
|
||||
#if (defined(linux) || defined(__linux) || defined(__linux__) || defined(__GNU__) || defined(__GLIBC__)) && !defined(_CRAYC)
|
||||
// linux, also other platforms (Hurd etc) that use GLIBC, should these really have their own config headers though?
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/linux.hpp"
|
||||
|
||||
#elif defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
|
||||
// BSD:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/bsd.hpp"
|
||||
|
||||
#elif defined(sun) || defined(__sun)
|
||||
// solaris:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/solaris.hpp"
|
||||
|
||||
#elif defined(__sgi)
|
||||
// SGI Irix:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/irix.hpp"
|
||||
|
||||
#elif defined(__hpux)
|
||||
// hp unix:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/hpux.hpp"
|
||||
|
||||
#elif defined(__CYGWIN__)
|
||||
// cygwin is not win32:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/cygwin.hpp"
|
||||
|
||||
#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
|
||||
// win32:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/win32.hpp"
|
||||
|
||||
#elif defined(__HAIKU__)
|
||||
// Haiku
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/haiku.hpp"
|
||||
|
||||
#elif defined(__BEOS__)
|
||||
// BeOS
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/beos.hpp"
|
||||
|
||||
#elif defined(macintosh) || defined(__APPLE__) || defined(__APPLE_CC__)
|
||||
// MacOS
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/macos.hpp"
|
||||
|
||||
#elif defined(__TOS_MVS__)
|
||||
// IBM z/OS
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/zos.hpp"
|
||||
|
||||
#elif defined(__IBMCPP__) || defined(_AIX)
|
||||
// IBM AIX
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/aix.hpp"
|
||||
|
||||
#elif defined(__amigaos__)
|
||||
// AmigaOS
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/amigaos.hpp"
|
||||
|
||||
#elif defined(__QNXNTO__)
|
||||
// QNX:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/qnxnto.hpp"
|
||||
|
||||
#elif defined(__VXWORKS__)
|
||||
// vxWorks:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/vxworks.hpp"
|
||||
|
||||
#elif defined(__SYMBIAN32__)
|
||||
// Symbian:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/symbian.hpp"
|
||||
|
||||
#elif defined(_CRAYC)
|
||||
// Cray:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/cray.hpp"
|
||||
|
||||
#elif defined(__VMS)
|
||||
// VMS:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/vms.hpp"
|
||||
|
||||
#elif defined(__CloudABI__)
|
||||
// Nuxi CloudABI:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/cloudabi.hpp"
|
||||
|
||||
#elif defined (__wasm__)
|
||||
// Web assembly:
|
||||
# define BOOST_PLATFORM_CONFIG "boost/config/platform/wasm.hpp"
|
||||
|
||||
#else
|
||||
|
||||
# if defined(unix) \
|
||||
|| defined(__unix) \
|
||||
|| defined(_XOPEN_SOURCE) \
|
||||
|| defined(_POSIX_SOURCE)
|
||||
|
||||
// generic unix platform:
|
||||
|
||||
# ifndef BOOST_HAS_UNISTD_H
|
||||
# define BOOST_HAS_UNISTD_H
|
||||
# endif
|
||||
|
||||
# include <boost/config/detail/posix_features.hpp>
|
||||
|
||||
# endif
|
||||
|
||||
# if defined (BOOST_ASSERT_CONFIG)
|
||||
// this must come last - generate an error if we don't
|
||||
// recognise the platform:
|
||||
# error "Unknown platform - please configure and report the results to boost.org"
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
//
|
||||
// This section allows dependency scanners to find all the files we *might* include:
|
||||
//
|
||||
# include "boost/config/platform/linux.hpp"
|
||||
# include "boost/config/platform/bsd.hpp"
|
||||
# include "boost/config/platform/solaris.hpp"
|
||||
# include "boost/config/platform/irix.hpp"
|
||||
# include "boost/config/platform/hpux.hpp"
|
||||
# include "boost/config/platform/cygwin.hpp"
|
||||
# include "boost/config/platform/win32.hpp"
|
||||
# include "boost/config/platform/beos.hpp"
|
||||
# include "boost/config/platform/macos.hpp"
|
||||
# include "boost/config/platform/zos.hpp"
|
||||
# include "boost/config/platform/aix.hpp"
|
||||
# include "boost/config/platform/amigaos.hpp"
|
||||
# include "boost/config/platform/qnxnto.hpp"
|
||||
# include "boost/config/platform/vxworks.hpp"
|
||||
# include "boost/config/platform/symbian.hpp"
|
||||
# include "boost/config/platform/cray.hpp"
|
||||
# include "boost/config/platform/vms.hpp"
|
||||
# include <boost/config/detail/posix_features.hpp>
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,121 @@
|
|||
// Boost compiler configuration selection header file
|
||||
|
||||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Jens Maurer 2001 - 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// locate which std lib we are using and define BOOST_STDLIB_CONFIG as needed:
|
||||
|
||||
// First, check if __has_include is available and <version> include can be located,
|
||||
// otherwise include <cstddef> to determine if some version of STLport is in use as the std lib
|
||||
// (do not rely on this header being included since users can short-circuit this header
|
||||
// if they know whose std lib they are using.)
|
||||
#if defined(__cplusplus) && defined(__has_include)
|
||||
# if __has_include(<version>)
|
||||
// It should be safe to include `<version>` when it is present without checking
|
||||
// the actual C++ language version as it consists solely of macro definitions.
|
||||
// [version.syn] p1: The header <version> supplies implementation-dependent
|
||||
// information about the C++ standard library (e.g., version number and release date).
|
||||
# include <version>
|
||||
# else
|
||||
# include <cstddef>
|
||||
# endif
|
||||
#elif defined(__cplusplus)
|
||||
# include <cstddef>
|
||||
#else
|
||||
# include <stddef.h>
|
||||
#endif
|
||||
|
||||
#if defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
|
||||
// STLPort library; this _must_ come first, otherwise since
|
||||
// STLport typically sits on top of some other library, we
|
||||
// can end up detecting that first rather than STLport:
|
||||
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/stlport.hpp"
|
||||
|
||||
#else
|
||||
|
||||
// If our std lib was not some version of STLport, and has not otherwise
|
||||
// been detected, then include <utility> as it is about
|
||||
// the smallest of the std lib headers that includes real C++ stuff.
|
||||
// Some std libs do not include their C++-related macros in <cstddef>
|
||||
// so this additional include makes sure we get those definitions.
|
||||
// Note: do not rely on this header being included since users can short-circuit this
|
||||
// #include if they know whose std lib they are using.
|
||||
#if !defined(__LIBCOMO__) && !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)\
|
||||
&& !defined(_LIBCPP_VERSION) && !defined(__GLIBCPP__) && !defined(__GLIBCXX__)\
|
||||
&& !defined(__STL_CONFIG_H) && !defined(__MSL_CPP__) && !defined(__IBMCPP__)\
|
||||
&& !defined(MSIPL_COMPILE_H) && !defined(_YVALS) && !defined(_CPPLIB_VER)
|
||||
#include <utility>
|
||||
#endif
|
||||
|
||||
#if defined(__LIBCOMO__)
|
||||
// Comeau STL:
|
||||
#define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcomo.hpp"
|
||||
|
||||
#elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
|
||||
// Rogue Wave library:
|
||||
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/roguewave.hpp"
|
||||
|
||||
#elif defined(_LIBCPP_VERSION)
|
||||
// libc++
|
||||
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libcpp.hpp"
|
||||
|
||||
#elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
|
||||
// GNU libstdc++ 3
|
||||
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/libstdcpp3.hpp"
|
||||
|
||||
#elif defined(__STL_CONFIG_H)
|
||||
// generic SGI STL
|
||||
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/sgi.hpp"
|
||||
|
||||
#elif defined(__MSL_CPP__)
|
||||
// MSL standard lib:
|
||||
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/msl.hpp"
|
||||
|
||||
#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) && defined(__MVS__)
|
||||
// IBM z/OS XL C/C++
|
||||
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/xlcpp_zos.hpp"
|
||||
|
||||
#elif defined(__IBMCPP__)
|
||||
// take the default VACPP std lib
|
||||
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/vacpp.hpp"
|
||||
|
||||
#elif defined(MSIPL_COMPILE_H)
|
||||
// Modena C++ standard library
|
||||
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/modena.hpp"
|
||||
|
||||
#elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
|
||||
// Dinkumware Library (this has to appear after any possible replacement libraries):
|
||||
# define BOOST_STDLIB_CONFIG "boost/config/stdlib/dinkumware.hpp"
|
||||
|
||||
#elif defined (BOOST_ASSERT_CONFIG)
|
||||
// this must come last - generate an error if we don't
|
||||
// recognise the library:
|
||||
# error "Unknown standard library - please configure and report the results to boost.org"
|
||||
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
//
|
||||
// This section allows dependency scanners to find all the files we *might* include:
|
||||
//
|
||||
# include "boost/config/stdlib/stlport.hpp"
|
||||
# include "boost/config/stdlib/libcomo.hpp"
|
||||
# include "boost/config/stdlib/roguewave.hpp"
|
||||
# include "boost/config/stdlib/libcpp.hpp"
|
||||
# include "boost/config/stdlib/libstdcpp3.hpp"
|
||||
# include "boost/config/stdlib/sgi.hpp"
|
||||
# include "boost/config/stdlib/msl.hpp"
|
||||
# include "boost/config/stdlib/xlcpp_zos.hpp"
|
||||
# include "boost/config/stdlib/vacpp.hpp"
|
||||
# include "boost/config/stdlib/modena.hpp"
|
||||
# include "boost/config/stdlib/dinkumware.hpp"
|
||||
#endif
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,26 @@
|
|||
#ifndef BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED
|
||||
#define BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED
|
||||
|
||||
// Copyright 2017 Peter Dimov.
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
//
|
||||
// See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt
|
||||
//
|
||||
// BOOST_HEADER_DEPRECATED("<alternative>")
|
||||
//
|
||||
// Expands to the equivalent of
|
||||
// BOOST_PRAGMA_MESSAGE("This header is deprecated. Use <alternative> instead.")
|
||||
//
|
||||
// Note that this header is C compatible.
|
||||
|
||||
#include <boost/config/pragma_message.hpp>
|
||||
|
||||
#if defined(BOOST_ALLOW_DEPRECATED_HEADERS) || defined(BOOST_ALLOW_DEPRECATED)
|
||||
# define BOOST_HEADER_DEPRECATED(a)
|
||||
#else
|
||||
# define BOOST_HEADER_DEPRECATED(a) BOOST_PRAGMA_MESSAGE("This header is deprecated. Use " a " instead.")
|
||||
#endif
|
||||
|
||||
#endif // BOOST_CONFIG_HEADER_DEPRECATED_HPP_INCLUDED
|
|
@ -0,0 +1,37 @@
|
|||
#ifndef BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
|
||||
#define BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
|
||||
|
||||
// Copyright 2001 John Maddock.
|
||||
// Copyright 2017 Peter Dimov.
|
||||
//
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
//
|
||||
// See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt
|
||||
//
|
||||
// BOOST_STRINGIZE(X)
|
||||
// BOOST_JOIN(X, Y)
|
||||
//
|
||||
// Note that this header is C compatible.
|
||||
|
||||
//
|
||||
// Helper macro BOOST_STRINGIZE:
|
||||
// Converts the parameter X to a string after macro replacement
|
||||
// on X has been performed.
|
||||
//
|
||||
#define BOOST_STRINGIZE(X) BOOST_DO_STRINGIZE(X)
|
||||
#define BOOST_DO_STRINGIZE(X) #X
|
||||
|
||||
//
|
||||
// Helper macro BOOST_JOIN:
|
||||
// The following piece of macro magic joins the two
|
||||
// arguments together, even when one of the arguments is
|
||||
// itself a macro (see 16.3.1 in C++ standard). The key
|
||||
// is that macro expansion of macro arguments does not
|
||||
// occur in BOOST_DO_JOIN2 but does in BOOST_DO_JOIN.
|
||||
//
|
||||
#define BOOST_JOIN(X, Y) BOOST_DO_JOIN(X, Y)
|
||||
#define BOOST_DO_JOIN(X, Y) BOOST_DO_JOIN2(X,Y)
|
||||
#define BOOST_DO_JOIN2(X, Y) X##Y
|
||||
|
||||
#endif // BOOST_CONFIG_HELPER_MACROS_HPP_INCLUDED
|
|
@ -0,0 +1,28 @@
|
|||
// (C) Copyright John Maddock 2008.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// The aim of this header is just to include <cmath> but to do
|
||||
// so in a way that does not result in recursive inclusion of
|
||||
// the Boost TR1 components if boost/tr1/tr1/cmath is in the
|
||||
// include search path. We have to do this to avoid circular
|
||||
// dependencies:
|
||||
//
|
||||
|
||||
#ifndef BOOST_CONFIG_CMATH
|
||||
# define BOOST_CONFIG_CMATH
|
||||
|
||||
# ifndef BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_CONFIG_NO_CMATH_RECURSION
|
||||
# endif
|
||||
|
||||
# include <cmath>
|
||||
|
||||
# ifdef BOOST_CONFIG_NO_CMATH_RECURSION
|
||||
# undef BOOST_TR1_NO_RECURSION
|
||||
# undef BOOST_CONFIG_NO_CMATH_RECURSION
|
||||
# endif
|
||||
|
||||
#endif
|
|
@ -0,0 +1,28 @@
|
|||
// (C) Copyright John Maddock 2005.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// The aim of this header is just to include <complex> but to do
|
||||
// so in a way that does not result in recursive inclusion of
|
||||
// the Boost TR1 components if boost/tr1/tr1/complex is in the
|
||||
// include search path. We have to do this to avoid circular
|
||||
// dependencies:
|
||||
//
|
||||
|
||||
#ifndef BOOST_CONFIG_COMPLEX
|
||||
# define BOOST_CONFIG_COMPLEX
|
||||
|
||||
# ifndef BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_CONFIG_NO_COMPLEX_RECURSION
|
||||
# endif
|
||||
|
||||
# include <complex>
|
||||
|
||||
# ifdef BOOST_CONFIG_NO_COMPLEX_RECURSION
|
||||
# undef BOOST_TR1_NO_RECURSION
|
||||
# undef BOOST_CONFIG_NO_COMPLEX_RECURSION
|
||||
# endif
|
||||
|
||||
#endif
|
|
@ -0,0 +1,28 @@
|
|||
// (C) Copyright John Maddock 2005.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// The aim of this header is just to include <functional> but to do
|
||||
// so in a way that does not result in recursive inclusion of
|
||||
// the Boost TR1 components if boost/tr1/tr1/functional is in the
|
||||
// include search path. We have to do this to avoid circular
|
||||
// dependencies:
|
||||
//
|
||||
|
||||
#ifndef BOOST_CONFIG_FUNCTIONAL
|
||||
# define BOOST_CONFIG_FUNCTIONAL
|
||||
|
||||
# ifndef BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
|
||||
# endif
|
||||
|
||||
# include <functional>
|
||||
|
||||
# ifdef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
|
||||
# undef BOOST_TR1_NO_RECURSION
|
||||
# undef BOOST_CONFIG_NO_FUNCTIONAL_RECURSION
|
||||
# endif
|
||||
|
||||
#endif
|
|
@ -0,0 +1,28 @@
|
|||
// (C) Copyright John Maddock 2005.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// The aim of this header is just to include <memory> but to do
|
||||
// so in a way that does not result in recursive inclusion of
|
||||
// the Boost TR1 components if boost/tr1/tr1/memory is in the
|
||||
// include search path. We have to do this to avoid circular
|
||||
// dependencies:
|
||||
//
|
||||
|
||||
#ifndef BOOST_CONFIG_MEMORY
|
||||
# define BOOST_CONFIG_MEMORY
|
||||
|
||||
# ifndef BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_CONFIG_NO_MEMORY_RECURSION
|
||||
# endif
|
||||
|
||||
# include <memory>
|
||||
|
||||
# ifdef BOOST_CONFIG_NO_MEMORY_RECURSION
|
||||
# undef BOOST_TR1_NO_RECURSION
|
||||
# undef BOOST_CONFIG_NO_MEMORY_RECURSION
|
||||
# endif
|
||||
|
||||
#endif
|
|
@ -0,0 +1,28 @@
|
|||
// (C) Copyright John Maddock 2005.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
//
|
||||
// The aim of this header is just to include <utility> but to do
|
||||
// so in a way that does not result in recursive inclusion of
|
||||
// the Boost TR1 components if boost/tr1/tr1/utility is in the
|
||||
// include search path. We have to do this to avoid circular
|
||||
// dependencies:
|
||||
//
|
||||
|
||||
#ifndef BOOST_CONFIG_UTILITY
|
||||
# define BOOST_CONFIG_UTILITY
|
||||
|
||||
# ifndef BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_TR1_NO_RECURSION
|
||||
# define BOOST_CONFIG_NO_UTILITY_RECURSION
|
||||
# endif
|
||||
|
||||
# include <utility>
|
||||
|
||||
# ifdef BOOST_CONFIG_NO_UTILITY_RECURSION
|
||||
# undef BOOST_TR1_NO_RECURSION
|
||||
# undef BOOST_CONFIG_NO_UTILITY_RECURSION
|
||||
# endif
|
||||
|
||||
#endif
|
|
@ -0,0 +1,33 @@
|
|||
// (C) Copyright John Maddock 2001 - 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// IBM/Aix specific config options:
|
||||
|
||||
#define BOOST_PLATFORM "IBM Aix"
|
||||
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#define BOOST_HAS_NL_TYPES_H
|
||||
#define BOOST_HAS_NANOSLEEP
|
||||
#define BOOST_HAS_CLOCK_GETTIME
|
||||
|
||||
// This needs support in "boost/cstdint.hpp" exactly like FreeBSD.
|
||||
// This platform has header named <inttypes.h> which includes all
|
||||
// the things needed.
|
||||
#define BOOST_HAS_STDINT_H
|
||||
|
||||
// Threading API's:
|
||||
#define BOOST_HAS_PTHREADS
|
||||
#define BOOST_HAS_PTHREAD_DELAY_NP
|
||||
#define BOOST_HAS_SCHED_YIELD
|
||||
//#define BOOST_HAS_PTHREAD_YIELD
|
||||
|
||||
// boilerplate code:
|
||||
#include <boost/config/detail/posix_features.hpp>
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
// (C) Copyright John Maddock 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
#define BOOST_PLATFORM "AmigaOS"
|
||||
|
||||
#define BOOST_DISABLE_THREADS
|
||||
#define BOOST_NO_CWCHAR
|
||||
#define BOOST_NO_STD_WSTRING
|
||||
#define BOOST_NO_INTRINSIC_WCHAR_T
|
||||
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
// (C) Copyright John Maddock 2001.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// BeOS specific config options:
|
||||
|
||||
#define BOOST_PLATFORM "BeOS"
|
||||
|
||||
#define BOOST_NO_CWCHAR
|
||||
#define BOOST_NO_CWCTYPE
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
|
||||
#define BOOST_HAS_BETHREADS
|
||||
|
||||
#ifndef BOOST_DISABLE_THREADS
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
// boilerplate code:
|
||||
#include <boost/config/detail/posix_features.hpp>
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// (C) Copyright Darin Adler 2001.
|
||||
// (C) Copyright Douglas Gregor 2002.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// generic BSD config options:
|
||||
|
||||
#if !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(__DragonFly__)
|
||||
#error "This platform is not BSD"
|
||||
#endif
|
||||
|
||||
#ifdef __FreeBSD__
|
||||
#define BOOST_PLATFORM "FreeBSD " BOOST_STRINGIZE(__FreeBSD__)
|
||||
#elif defined(__NetBSD__)
|
||||
#define BOOST_PLATFORM "NetBSD " BOOST_STRINGIZE(__NetBSD__)
|
||||
#elif defined(__OpenBSD__)
|
||||
#define BOOST_PLATFORM "OpenBSD " BOOST_STRINGIZE(__OpenBSD__)
|
||||
#elif defined(__DragonFly__)
|
||||
#define BOOST_PLATFORM "DragonFly " BOOST_STRINGIZE(__DragonFly__)
|
||||
#endif
|
||||
|
||||
//
|
||||
// is this the correct version check?
|
||||
// FreeBSD has <nl_types.h> but does not
|
||||
// advertise the fact in <unistd.h>:
|
||||
//
|
||||
#if (defined(__FreeBSD__) && (__FreeBSD__ >= 3)) \
|
||||
|| defined(__OpenBSD__) || defined(__DragonFly__)
|
||||
# define BOOST_HAS_NL_TYPES_H
|
||||
#endif
|
||||
|
||||
//
|
||||
// FreeBSD 3.x has pthreads support, but defines _POSIX_THREADS in <pthread.h>
|
||||
// and not in <unistd.h>
|
||||
//
|
||||
#if (defined(__FreeBSD__) && (__FreeBSD__ <= 3))\
|
||||
|| defined(__OpenBSD__) || defined(__DragonFly__)
|
||||
# define BOOST_HAS_PTHREADS
|
||||
#endif
|
||||
|
||||
//
|
||||
// No wide character support in the BSD header files:
|
||||
//
|
||||
#if defined(__NetBSD__)
|
||||
#define __NetBSD_GCC__ (__GNUC__ * 1000000 \
|
||||
+ __GNUC_MINOR__ * 1000 \
|
||||
+ __GNUC_PATCHLEVEL__)
|
||||
// XXX - the following is required until c++config.h
|
||||
// defines _GLIBCXX_HAVE_SWPRINTF and friends
|
||||
// or the preprocessor conditionals are removed
|
||||
// from the cwchar header.
|
||||
#define _GLIBCXX_HAVE_SWPRINTF 1
|
||||
#endif
|
||||
|
||||
#if !((defined(__FreeBSD__) && (__FreeBSD__ >= 5)) \
|
||||
|| (defined(__NetBSD_GCC__) && (__NetBSD_GCC__ >= 2095003)) \
|
||||
|| defined(__OpenBSD__) || defined(__DragonFly__))
|
||||
# define BOOST_NO_CWCHAR
|
||||
#endif
|
||||
//
|
||||
// The BSD <ctype.h> has macros only, no functions:
|
||||
//
|
||||
#if !defined(__OpenBSD__) || defined(__DragonFly__)
|
||||
# define BOOST_NO_CTYPE_FUNCTIONS
|
||||
#endif
|
||||
|
||||
//
|
||||
// thread API's not auto detected:
|
||||
//
|
||||
#define BOOST_HAS_SCHED_YIELD
|
||||
#define BOOST_HAS_NANOSLEEP
|
||||
#define BOOST_HAS_GETTIMEOFDAY
|
||||
#define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
#define BOOST_HAS_SIGACTION
|
||||
#define BOOST_HAS_CLOCK_GETTIME
|
||||
|
||||
// boilerplate code:
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#include <boost/config/detail/posix_features.hpp>
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright Nuxi, https://nuxi.nl/ 2015.
|
||||
// Distributed under the Boost Software License, Version 1.0.
|
||||
// (See accompanying file LICENSE_1_0.txt or copy at
|
||||
// http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
#define BOOST_PLATFORM "CloudABI"
|
||||
|
||||
#define BOOST_HAS_DIRENT_H
|
||||
#define BOOST_HAS_STDINT_H
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
|
||||
#define BOOST_HAS_CLOCK_GETTIME
|
||||
#define BOOST_HAS_EXPM1
|
||||
#define BOOST_HAS_GETTIMEOFDAY
|
||||
#define BOOST_HAS_LOG1P
|
||||
#define BOOST_HAS_NANOSLEEP
|
||||
#define BOOST_HAS_PTHREADS
|
||||
#define BOOST_HAS_SCHED_YIELD
|
|
@ -0,0 +1,18 @@
|
|||
// (C) Copyright John Maddock 2011.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// SGI Irix specific config options:
|
||||
|
||||
#define BOOST_PLATFORM "Cray"
|
||||
|
||||
// boilerplate code:
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#include <boost/config/detail/posix_features.hpp>
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
// (C) Copyright John Maddock 2001 - 2003.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// cygwin specific config options:
|
||||
|
||||
#define BOOST_PLATFORM "Cygwin"
|
||||
#define BOOST_HAS_DIRENT_H
|
||||
#define BOOST_HAS_LOG1P
|
||||
#define BOOST_HAS_EXPM1
|
||||
|
||||
//
|
||||
// Threading API:
|
||||
// See if we have POSIX threads, if we do use them, otherwise
|
||||
// revert to native Win threads.
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#include <unistd.h>
|
||||
#if defined(_POSIX_THREADS) && (_POSIX_THREADS+0 >= 0) && !defined(BOOST_HAS_WINTHREADS)
|
||||
# define BOOST_HAS_PTHREADS
|
||||
# define BOOST_HAS_SCHED_YIELD
|
||||
# define BOOST_HAS_GETTIMEOFDAY
|
||||
# define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
|
||||
//# define BOOST_HAS_SIGACTION
|
||||
#else
|
||||
# if !defined(BOOST_HAS_WINTHREADS)
|
||||
# define BOOST_HAS_WINTHREADS
|
||||
# endif
|
||||
# define BOOST_HAS_FTIME
|
||||
#endif
|
||||
|
||||
//
|
||||
// find out if we have a stdint.h, there should be a better way to do this:
|
||||
//
|
||||
#include <sys/types.h>
|
||||
#ifdef _STDINT_H
|
||||
#define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
#if __GNUC__ > 5 && !defined(BOOST_HAS_STDINT_H)
|
||||
# define BOOST_HAS_STDINT_H
|
||||
#endif
|
||||
|
||||
#include <cygwin/version.h>
|
||||
#if (CYGWIN_VERSION_API_MAJOR == 0 && CYGWIN_VERSION_API_MINOR < 231)
|
||||
/// Cygwin has no fenv.h
|
||||
#define BOOST_NO_FENV_H
|
||||
#endif
|
||||
|
||||
// Cygwin has it's own <pthread.h> which breaks <shared_mutex> unless the correct compiler flags are used:
|
||||
#ifndef BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#include <pthread.h>
|
||||
#if !(__XSI_VISIBLE >= 500 || __POSIX_VISIBLE >= 200112)
|
||||
# define BOOST_NO_CXX14_HDR_SHARED_MUTEX
|
||||
#endif
|
||||
#endif
|
||||
|
||||
// boilerplate code:
|
||||
#include <boost/config/detail/posix_features.hpp>
|
||||
|
||||
//
|
||||
// Cygwin lies about XSI conformance, there is no nl_types.h:
|
||||
//
|
||||
#ifdef BOOST_HAS_NL_TYPES_H
|
||||
# undef BOOST_HAS_NL_TYPES_H
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
// (C) Copyright Jessica Hamilton 2014.
|
||||
// Use, modification and distribution are subject to the
|
||||
// Boost Software License, Version 1.0. (See accompanying file
|
||||
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
||||
|
||||
// See http://www.boost.org for most recent version.
|
||||
|
||||
// Haiku specific config options:
|
||||
|
||||
#define BOOST_PLATFORM "Haiku"
|
||||
|
||||
#define BOOST_HAS_UNISTD_H
|
||||
#define BOOST_HAS_STDINT_H
|
||||
|
||||
#ifndef BOOST_DISABLE_THREADS
|
||||
# define BOOST_HAS_THREADS
|
||||
#endif
|
||||
|
||||
#define BOOST_NO_CXX11_HDR_TYPE_TRAITS
|
||||
#define BOOST_NO_CXX11_ATOMIC_SMART_PTR
|
||||
#define BOOST_NO_CXX11_STATIC_ASSERT
|
||||
#define BOOST_NO_CXX11_VARIADIC_MACROS
|
||||
|
||||
//
|
||||
// thread API's not auto detected:
|
||||
//
|
||||
#define BOOST_HAS_SCHED_YIELD
|
||||
#define BOOST_HAS_GETTIMEOFDAY
|
||||
|
||||
// boilerplate code:
|
||||
#include <boost/config/detail/posix_features.hpp>
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue