Changeset 1420:e37cca875667 in lemon-0.x for src/lemon/xy.h
- Timestamp:
- 05/14/05 19:37:33 (19 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1890
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/lemon/xy.h
r1392 r1420 19 19 20 20 #include <iostream> 21 #include <lemon/utility.h> 21 22 22 23 ///\ingroup misc … … 351 352 class XMap 352 353 { 353 M &_map;354 typename SmartReference<M>::Type _map; 354 355 public: 356 typedef True NeedCopy; 357 355 358 typedef typename M::Value::Value Value; 356 359 typedef typename M::Key Key; 357 360 ///\e 358 XMap( M &map) : _map(map) {}361 XMap(typename SmartParameter<M>::Type map) : _map(map) {} 359 362 Value operator[](Key k) const {return _map[k].x;} 360 363 void set(Key k,Value v) {_map.set(k,typename M::Value(v,_map[k].y));} … … 373 376 } 374 377 378 template<class M> 379 inline XMap<M> xMap(const M &m) 380 { 381 return XMap<M>(m); 382 } 383 375 384 ///Constant (read only) version of \ref XMap 376 385 … … 380 389 class ConstXMap 381 390 { 382 const M &_map;391 typename SmartConstReference<M>::Type _map; 383 392 public: 393 typedef True NeedCopy; 394 384 395 typedef typename M::Value::Value Value; 385 396 typedef typename M::Key Key; … … 408 419 class YMap 409 420 { 410 M &_map;421 typename SmartReference<M>::Type _map; 411 422 public: 423 typedef True NeedCopy; 424 412 425 typedef typename M::Value::Value Value; 413 426 typedef typename M::Key Key; 414 427 ///\e 415 YMap( M &map) : _map(map) {}428 YMap(typename SmartParameter<M>::Type map) : _map(map) {} 416 429 Value operator[](Key k) const {return _map[k].y;} 417 430 void set(Key k,Value v) {_map.set(k,typename M::Value(_map[k].x,v));} … … 430 443 } 431 444 445 template<class M> 446 inline YMap<M> yMap(const M &m) 447 { 448 return YMap<M>(m); 449 } 450 432 451 ///Constant (read only) version of \ref YMap 433 452 … … 437 456 class ConstYMap 438 457 { 439 const M &_map;458 typename SmartConstReference<M>::Type _map; 440 459 public: 460 typedef True NeedCopy; 461 441 462 typedef typename M::Value::Value Value; 442 463 typedef typename M::Key Key; … … 467 488 class NormSquareMap 468 489 { 469 const M &_map;490 typename SmartConstReference<M>::Type _map; 470 491 public: 492 typedef True NeedCopy; 493 471 494 typedef typename M::Value::Value Value; 472 495 typedef typename M::Key Key;
Note: See TracChangeset
for help on using the changeset viewer.