File: deprecated.cc

package info (click to toggle)
openc%2B%2B 2.8-4
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 5,464 kB
  • ctags: 3,333
  • sloc: cpp: 19,071; sh: 12,793; ansic: 3,549; makefile: 577
file content (43 lines) | stat: -rw-r--r-- 1,267 bytes parent folder | download | duplicates (2)
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
//@beginlicenses@
//@license{Grzegorz Jakacki}{2004}@
//
//  Permission to use, copy, distribute and modify this software and its  
//  documentation for any purpose is hereby granted without fee, provided that
//  the above copyright notice appears in all copies and that both that copyright
//  notice and this permission notice appear in supporting documentation.
// 
//  Grzegorz Jakacki make(s) no representations about the suitability of this
//  software for any purpose. It is provided "as is" without express or implied
//  warranty.
//  
//  Copyright (C) 2004 Grzegorz Jakacki
//
//@endlicenses@

#include <opencxx/parser/deprecated.h>
#include <string>
#include <set>
#include <iostream>

namespace Opencxx
{

void Deprecated(const char* functionName, const char* replacement)
{
   static std::set<std::string> shown;
   std::string name(functionName);
        
   std::set<std::string>::iterator iter = shown.find(name);
   if (iter == shown.end()) {
       shown.insert(iter, name);
       std::cerr << "opencxx-depreciation: " << functionName << " is deprecated";
       if (replacement) {
           std::cerr << "," << std::endl << "opencxx-depreciation: use " 
                     << replacement;
       }
       std::cerr << std::endl;
   }
}

}