/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/test-suite/php/friends_runme.php
51 строка
1 KB
William S Fulton
Wrap friend functions that are defined or declared within a namespace
15 янв 2024, 22:18
15 янв 2024, 22:18
0a16044
Код
Авторство
О чём код?
<?php require "tests.php"; check::functions(array('globalscope','mix','get_val2','get_val3','bas','baz','get_val1','set','chum_blah','mate_blah','friend_definition','friend_declaration','friend_args_definition','friend_args_declaration','friend_definition_compiler','friend_declaration_compiler','friend_args_definition_compiler','friend_args_declaration_compiler')); check::classes(array('friends','Foe','A','B','D_i','D_d','CModelParameterCompartment','CModelParameterSpecies','Chum','Mate')); // No new vars check::globals(array()); $a = new A(2); check::equal(get_val1($a), 2); check::equal(get_val2($a), 4); check::equal(get_val3($a), 6); # nice overload working fine check::equal(get_val1(1, 2, 3), 1); $b = new B(3); # David's case check::equal(mix($a, $b), 5); $di = new D_i(2); $dd = new D_d(3.3); # incredible template overloading working just fine check::equal(get_val1($di), 2); check::equal(get_val1($dd), 3.3); set($di, 4); set($dd, 1.3); check::equal(get_val1($di), 4); check::equal(get_val1($dd), 1.3); check::equal(chum_blah(), 1234); check::equal(mate_blah(), 4321); $foe = new Foe(111); check::equal(friend_definition(), 10); check::equal(friend_declaration(), 11); check::equal(friend_args_definition($foe), 111); check::equal(friend_args_declaration($foe), 111); check::equal(friend_definition_compiler(), 20); check::equal(friend_declaration_compiler(), 21); check::equal(friend_args_definition_compiler($foe), 111); check::equal(friend_args_declaration_compiler($foe), 111); check::done();