summaryrefslogtreecommitdiff
path: root/bin/Array.pl
blob: 7f9bf393e15c097ef09c743f4b50364895fdb4eb (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
27
28
29
30
31
#!/bin/sh -- # -*- perl -*-
eval 'exec perl -pi.Array.$$ -S $0 ${1+"$@"}'
             if 0;

# $Id$

#
# After the 4.6.10 release the template instantiations for ACE_Array
# have changed, the class is implemented in terms of ACE_Array_Base;
# this script fixes the template instantiations if needed.
#
# It changes instantiations of:
#
# ACE_Array<T>
#
# into:
#
# ACE_Array<T>
# ACE_Array_Base<T>
#

# Notice the use of the -pi options: the while(<>) loop is implicit,
# printing the current line is also implicit as well as fixing the
# file in place.

if (m/template class\s+ACE_Array\s*<(.*)>\s*;\s*/) {
    print "template class ACE_Array_Base<", $1, ">;\n";
} elsif (m/#pragma instantiate\s+ACE_Array\s*<(.*)>\s*$/) {
    print "#pragma instantiate ACE_Array_Base<", $1, ">\n";
}