26#ifndef _CXSC_VECTOR_HPP_INCLUDED
27#define _CXSC_VECTOR_HPP_INCLUDED
36 TINLINE
void _vresize(V &rv)
noexcept;
38 template <
class V,
class S>
39 TINLINE
void _vresize(V &rv,
const int &len)
46 template <
class V,
class S>
47 TINLINE
void _vresize(V &rv,
const int &lb,
const int &ub)
54 template <
class V1,
class V2,
class S>
55 TINLINE V1 &_vvassign(V1 &rv1,
const V2 &rv2)
noexcept;
57 template <
class V,
class S>
58 TINLINE V & _vsassign(V &rv,
const S &r)
noexcept;
60 template <
class VS1,
class VS2>
61 TINLINE VS1 & _vsvsassign(VS1 &sl1,
const VS2 &sl2)
68 template <
class V,
class VS,
class S>
69 TINLINE V & _vvsassign(V &rv,
const VS &sl)
noexcept;
71 template <
class VS,
class V>
72 TINLINE VS & _vsvassign(VS &sl,
const V &rv)
79 template <
class VS,
class S>
80 TINLINE VS & _vssassign(VS &sl,
const S &r)
noexcept;
82 template <
class DP,
class V1,
class V2>
83 TINLINE
void _vvaccu(DP &dp,
const V1 & rv1,
const V2 &rv2)
90 template <
class DP,
class VS,
class V>
91 TINLINE
void _vsvaccu(DP &dp,
const VS & sl,
const V &rv)
98 template <
class V,
class S,
class E>
99 TINLINE E _vsdiv(
const V &rv,
const S &s)
noexcept;
101 template <
class V,
class S>
102 TINLINE V &_vsdivassign(V &rv,
const S &r)
noexcept;
104 template <
class VS,
class S,
class E>
105 TINLINE E _vssdiv(
const VS &sl,
const S &s)
noexcept;
107 template <
class V,
class S,
class E>
108 TINLINE E _vsmult(
const V &rv,
const S &s)
noexcept;
110 template <
class VS,
class S,
class E>
111 TINLINE E _vssmult(
const VS &sl,
const S &s)
noexcept;
113 template <
class V1,
class V2,
class E>
114 TINLINE E _vvlmult(
const V1 & rv1,
const V2 &rv2)
121 template <
class VS,
class V,
class E>
122 TINLINE E _vsvlmult(
const VS & sl,
const V &rv)
129 template <
class VS1,
class VS2,
class E>
130 TINLINE E _vsvslmult(
const VS1 & sl1,
const VS2 &sl2)
137 template <
class V1,
class V2,
class E>
138 TINLINE E _vvlimult(
const V1 & rv1,
const V2 &rv2)
145 template <
class VS,
class V,
class E>
146 TINLINE E _vsvlimult(
const VS & sl,
const V &rv)
153 template <
class VS1,
class VS2,
class E>
154 TINLINE E _vsvslimult(
const VS1 & sl1,
const VS2 &sl2)
161 template <
class V1,
class V2,
class E>
162 TINLINE E _vvmult(
const V1 & rv1,
const V2 &rv2)
169 template <
class VS,
class V,
class E>
170 TINLINE E _vsvmult(
const VS & sl,
const V &rv)
177 template <
class VS1,
class VS2,
class E>
178 TINLINE E _vsvsmult(
const VS1 & sl1,
const VS2 &sl2)
185 template <
class V1,
class V2,
class E>
186 TINLINE E _vvimult(
const V1 & rv1,
const V2 &rv2)
193 template <
class VS,
class V,
class E>
194 TINLINE E _vsvimult(
const VS & sl,
const V &rv)
201 template <
class VS1,
class VS2,
class E>
202 TINLINE E _vsvsimult(
const VS1 & sl1,
const VS2 &sl2)
209 template <
class V1,
class V2,
class E>
210 TINLINE E _vvcmult(
const V1 & rv1,
const V2 &rv2)
217 template <
class VS,
class V,
class E>
218 TINLINE E _vsvcmult(
const VS & sl,
const V &rv)
225 template <
class VS1,
class VS2,
class E>
226 TINLINE E _vsvscmult(
const VS1 & sl1,
const VS2 &sl2)
233 template <
class V1,
class V2,
class E>
234 TINLINE E _vvcimult(
const V1 & rv1,
const V2 &rv2)
241 template <
class VS,
class V,
class E>
242 TINLINE E _vsvcimult(
const VS & sl,
const V &rv)
249 template <
class VS1,
class VS2,
class E>
250 TINLINE E _vsvscimult(
const VS1 & sl1,
const VS2 &sl2)
257 template <
class V,
class S>
258 TINLINE V &_vsmultassign(V &rv,
const S &r)
noexcept;
260 template <
class VS,
class S>
261 TINLINE VS &_vssmultassign(VS &rv,
const S &r)
noexcept;
263 template <
class VS,
class S>
264 TINLINE VS &_vssdivassign(VS &rv,
const S &r)
noexcept;
266 template <
class V1,
class V2,
class E>
267 TINLINE E _vvplus(
const V1 &rv1,
const V2 &rv2)
274 template <
class V,
class VS,
class E>
275 TINLINE E _vvsplus(
const V &rv,
const VS &sl)
282 template <
class VS1,
class VS2,
class E>
283 TINLINE E _vsvsplus(
const VS1 &s1,
const VS2 &s2)
290 template <
class VS1,
class VS2,
class E>
291 TINLINE E _vsvsminus(
const VS1 &s1,
const VS2 &s2)
298 template <
class V1,
class V2>
299 TINLINE V1 &_vvplusassign(V1 &rv1,
const V2 &rv2)
306 template <
class V,
class VS>
307 TINLINE V &_vvsplusassign(V &rv,
const VS &sl)
314 template <
class VS,
class V>
315 TINLINE VS &_vsvplusassign(VS &sl,
const V &rv)
322 template <
class VS1,
class VS2>
323 TINLINE VS1 &_vsvsplusassign(VS1 &sl1,
const VS2 &sl2)
330 template <
class VS1,
class VS2>
331 TINLINE VS1 &_vsvsminusassign(VS1 &sl1,
const VS2 &sl2)
338 template <
class V1,
class V2>
339 TINLINE V1 &_vvminusassign(V1 &rv1,
const V2 &rv2)
346 template <
class V,
class VS>
347 TINLINE V &_vvsminusassign(V &rv,
const VS &sl)
354 template <
class VS,
class V>
355 TINLINE VS &_vsvminusassign(VS &sl,
const V &rv)
363 TINLINE V _vminus(
const V &rv)
noexcept;
365 template <
class VS,
class V>
366 TINLINE V _vsminus(
const VS &sl)
noexcept;
368 template <
class V1,
class V2,
class E>
369 TINLINE E _vvminus(
const V1 &rv1,
const V2 &rv2)
376 template <
class V,
class VS,
class E>
377 TINLINE E _vvsminus(
const V &rv,
const VS &sl)
384 template <
class VS,
class V,
class E>
385 TINLINE E _vsvminus(
const VS &sl,
const V &rv)
392 template <
class V1,
class V2,
class E>
393 TINLINE E _vvconv(
const V1 &rv1,
const V2 &rv2)
400 template <
class V,
class VS,
class E>
401 TINLINE E _vvsconv(
const V &rv,
const VS &sl)
408 template <
class VS1,
class VS2,
class E>
409 TINLINE E _vsvsconv(
const VS1 &s1,
const VS2 &s2)
416 template <
class V1,
class V2>
417 TINLINE V1 &_vvconvassign(V1 &rv1,
const V2 &rv2)
424 template <
class V,
class VS>
425 TINLINE V &_vvsconvassign(V &rv,
const VS &sl)
432 template <
class VS,
class V>
433 TINLINE VS &_vsvconvassign(VS &sl,
const V &rv)
440 template <
class VS1,
class VS2>
441 TINLINE VS1 &_vsvsconvassign(VS1 &sl1,
const VS2 &sl2)
448 template <
class V1,
class V2,
class E>
449 TINLINE E _vvsect(
const V1 &rv1,
const V2 &rv2)
456 template <
class V,
class VS,
class E>
457 TINLINE E _vvssect(
const V &rv,
const VS &sl)
464 template <
class VS1,
class VS2,
class E>
465 TINLINE E _vsvssect(
const VS1 &s1,
const VS2 &s2)
472 template <
class V1,
class V2>
473 TINLINE V1 &_vvsectassign(V1 &rv1,
const V2 &rv2)
480 template <
class V,
class VS>
481 TINLINE V &_vvssectassign(V &rv,
const VS &sl)
488 template <
class VS,
class V>
489 TINLINE VS &_vsvsectassign(VS &sl,
const V &rv)
496 template <
class VS1,
class VS2>
497 TINLINE VS1 &_vsvssectassign(VS1 &sl1,
const VS2 &sl2)
504 template <
class V1,
class V2>
505 TINLINE
bool _vveq(
const V1 &rv1,
const V2 &rv2)
noexcept;
507 template <
class VS,
class V>
508 TINLINE
bool _vsveq(
const VS &sl,
const V &rv)
noexcept;
510 template <
class V1,
class V2>
511 TINLINE
bool _vvneq(
const V1 &rv1,
const V2 &rv2)
noexcept;
513 template <
class VS,
class V>
514 TINLINE
bool _vsvneq(
const VS &sl,
const V &rv)
noexcept;
516 template <
class V1,
class V2>
517 TINLINE
bool _vvless(
const V1 &rv1,
const V2 &rv2)
noexcept;
519 template <
class VS,
class V>
520 TINLINE
bool _vsvless(
const VS &sl,
const V &rv)
noexcept;
522 template <
class V1,
class V2>
523 TINLINE
bool _vvleq(
const V1 &rv1,
const V2 &rv2)
noexcept;
525 template <
class VS,
class V>
526 TINLINE
bool _vsvleq(
const VS &sl,
const V &rv)
noexcept;
528 template <
class V,
class VS>
529 TINLINE
bool _vvsless(
const V &rv,
const VS &sl)
noexcept;
531 template <
class V,
class VS>
532 TINLINE
bool _vvsleq(
const V &rv,
const VS &sl)
noexcept;
535 TINLINE
bool _vnot(
const V &rv)
noexcept;
538 TINLINE
void *_vvoid(
const V &rv)
noexcept;
541 TINLINE V _vconj(
const V &rv)
noexcept;
543 template <
class VS,
class E>
544 TINLINE E _vsconj(
const VS &sl)
noexcept;
546 template <
class V,
class E>
547 TINLINE E _vabs(
const V &rv)
noexcept;
549 template <
class VS,
class E>
550 TINLINE E _vsabs(
const VS &sl)
noexcept;
552 template <
class V,
class E>
553 TINLINE E _vdiam(
const V &rv)
noexcept;
555 template <
class VS,
class E>
556 TINLINE E _vsdiam(
const VS &sl)
noexcept;
558 template <
class V,
class E>
559 TINLINE E _vmid(
const V &rv)
noexcept;
561 template <
class VS,
class E>
562 TINLINE E _vsmid(
const VS &sl)
noexcept;
564 template <
class V,
class E>
565 TINLINE E _vinf(
const V &rv)
noexcept;
567 template <
class VS,
class E>
568 TINLINE E _vsinf(
const VS &sl)
noexcept;
570 template <
class V,
class E>
571 TINLINE E _vsup(
const V &rv)
noexcept;
573 template <
class VS,
class E>
574 TINLINE E _vssup(
const VS &sl)
noexcept;
576 template <
class V,
class E>
577 TINLINE E _vre(
const V &rv)
noexcept;
579 template <
class VS,
class E>
580 TINLINE E _vsre(
const VS &sl)
noexcept;
582 template <
class V,
class E>
583 TINLINE E _vim(
const V &rv)
noexcept;
585 template <
class VS,
class E>
586 TINLINE E _vsim(
const VS &sl)
noexcept;
588 template <
class V,
class S>
589 TINLINE V &_vsusetsup(V &v,
const S &s)
noexcept;
591 template <
class V,
class S>
592 TINLINE V &_vsusetinf(V &v,
const S &s)
noexcept;
594 template <
class V,
class S>
595 TINLINE V &_vssetinf(V &v,
const S &s)
noexcept;
597 template <
class V,
class S>
598 TINLINE V &_vssetsup(V &v,
const S &s)
noexcept;
600 template <
class V,
class S>
601 TINLINE V &_vssetre(V &v,
const S &s)
noexcept;
603 template <
class V,
class S>
604 TINLINE V &_vssetim(V &v,
const S &s)
noexcept;
606 template <
class VS,
class S>
607 TINLINE VS &_vssusetsup(VS &vs,
const S &s)
noexcept;
609 template <
class VS,
class S>
610 TINLINE VS &_vssusetinf(VS &vs,
const S &s)
noexcept;
612 template <
class VS,
class S>
613 TINLINE VS &_vsssetinf(VS &vs,
const S &s)
noexcept;
615 template <
class VS,
class S>
616 TINLINE VS &_vsssetsup(VS &vs,
const S &s)
noexcept;
618 template <
class VS,
class S>
619 TINLINE VS &_vsssetre(VS &vs,
const S &s)
noexcept;
621 template <
class VS,
class S>
622 TINLINE VS &_vsssetim(VS &vs,
const S &s)
noexcept;
624 template <
class V1,
class V2>
625 TINLINE V1 &_vvsetinf(V1 &rv1,
const V2 &rv2)
632 template <
class V,
class VS>
633 TINLINE V &_vvssetinf(V &rv,
const VS &sl)
640 template <
class VS,
class V>
641 TINLINE VS &_vsvsetinf(VS &sl,
const V &rv)
648 template <
class VS1,
class VS2>
649 TINLINE VS1 &_vsvssetinf(VS1 &sl1,
const VS2 &sl2)
656 template <
class V1,
class V2>
657 TINLINE V1 &_vvsetsup(V1 &rv1,
const V2 &rv2)
664 template <
class V,
class VS>
665 TINLINE V &_vvssetsup(V &rv,
const VS &sl)
672 template <
class VS,
class V>
673 TINLINE VS &_vsvsetsup(VS &sl,
const V &rv)
680 template <
class VS1,
class VS2>
681 TINLINE VS1 &_vsvssetsup(VS1 &sl1,
const VS2 &sl2)
688 template <
class V1,
class V2>
689 TINLINE V1 &_vvusetinf(V1 &rv1,
const V2 &rv2)
696 template <
class V,
class VS>
697 TINLINE V &_vvsusetinf(V &rv,
const VS &sl)
704 template <
class VS,
class V>
705 TINLINE VS &_vsvusetinf(VS &sl,
const V &rv)
712 template <
class VS1,
class VS2>
713 TINLINE VS1 &_vsvsusetinf(VS1 &sl1,
const VS2 &sl2)
720 template <
class V1,
class V2>
721 TINLINE V1 &_vvusetsup(V1 &rv1,
const V2 &rv2)
728 template <
class V,
class VS>
729 TINLINE V &_vvsusetsup(V &rv,
const VS &sl)
736 template <
class VS,
class V>
737 TINLINE VS &_vsvusetsup(VS &sl,
const V &rv)
744 template <
class VS1,
class VS2>
745 TINLINE VS1 &_vsvsusetsup(VS1 &sl1,
const VS2 &sl2)
752 template <
class V1,
class V2>
753 TINLINE V1 &_vvsetim(V1 &rv1,
const V2 &rv2)
760 template <
class V,
class VS>
761 TINLINE V &_vvssetim(V &rv,
const VS &sl)
768 template <
class VS,
class V>
769 TINLINE VS &_vsvsetim(VS &sl,
const V &rv)
776 template <
class VS1,
class VS2>
777 TINLINE VS1 &_vsvssetim(VS1 &sl1,
const VS2 &sl2)
784 template <
class V1,
class V2>
785 TINLINE V1 &_vvsetre(V1 &rv1,
const V2 &rv2)
792 template <
class V,
class VS>
793 TINLINE V &_vvssetre(V &rv,
const VS &sl)
800 template <
class VS,
class V>
801 TINLINE VS &_vsvsetre(VS &sl,
const V &rv)
808 template <
class VS1,
class VS2>
809 TINLINE VS1 &_vsvssetre(VS1 &sl1,
const VS2 &sl2)
816 template <
class DP,
class VS1,
class VS2>
817 TINLINE
void _vsvsaccu(DP &dp,
const VS1 & sl1,
const VS2 &sl2)
824 template <
class VS1,
class VS2>
825 TINLINE
bool _vsvseq(
const VS1 &sl1,
const VS2 &sl2)
noexcept;
827 template <
class VS1,
class VS2>
828 TINLINE
bool _vsvsneq(
const VS1 &sl1,
const VS2 &sl2)
noexcept;
830 template <
class VS1,
class VS2>
831 TINLINE
bool _vsvsless(
const VS1 &sl1,
const VS2 &sl2)
noexcept;
833 template <
class VS1,
class VS2>
834 TINLINE
bool _vsvsleq(
const VS1 &sl1,
const VS2 &sl2)
noexcept;
837 TINLINE
bool _vsnot(
const VS &sl)
noexcept;
840 TINLINE
void *_vsvoid(
const VS &sl)
noexcept;
843 std::ostream &_vout(std::ostream &s,
const V &rv)
noexcept;
846 std::istream &_vin(std::istream &s, V &rv)
noexcept;
849 std::ostream &_vsout(std::ostream &s,
const V &rv)
noexcept;
852 std::istream &_vsin(std::istream &s, V &rv)
noexcept;
The namespace cxsc, providing all functionality of the class library C-XSC.