Certain functions
for which a definition is supplied by the implementation
are 
replaceable.A C++ program may
provide a definition with the signature of a replaceable function,
called a 
replacement function.The replacement function
is used instead of the default version
supplied by the implementation
.A declaration of the replacement function
- shall not be inline,
- shall be attached to the global module,
- shall have C++ language linkage,
- shall have the same return type as the replaceable function, and
- if the function is declared in a standard library header,
shall be such that it would be valid as a redeclaration
of the declaration in that header;
no diagnostic is required
.[
Note 1: 
The one-definition rule (
[basic.def.odr])
applies to the definitions of a replaceable function
provided by the program
.The implementation-supplied function definition
is an otherwise-unnamed function with no linkage
. — 
end note]