aboutsummaryrefslogtreecommitdiff
path: root/build2/name.ixx
blob: c77846a2f2aa94017403a3cb973e7846972c7b0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// file      : build2/name.ixx -*- C++ -*-
// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd
// license   : MIT; see accompanying LICENSE file

namespace build2
{
  inline int name::
  compare (const name& x) const
  {
    int r (proj < x.proj ? -1 : (proj > x.proj ? 1 : 0));

    if (r == 0)
      r = dir.compare (x.dir);

    if (r == 0)
      r = type.compare (x.type);

    if (r == 0)
      r = value.compare (x.value);

    if (r == 0)
      r = pair < x.pair ? -1 : (pair > x.pair ? 1 : 0);

    return r;
  }
}